Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> funkcja skalująca -> zapisuje puste pliki.
patrycjusz
post 12.11.2003, 13:41:29
Post #1





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


Witam.
Problem jak w temacie,
Funkcja działa, na localu nawet wszystko ładnie ale na serwie już mi zapisuje puste pliki, pytania:
1.gdzie jest błąd?
2. jaka jest potencjalna róznica u mnie na localu a na serwie w ustawieniach że tak się dzieje.
Kodzik.[php:1:5bc8f1f409]<?php
<?
class zdjecie
{
//funkcja odpowiedzialna za wstawianie zdjecia
function dodaj_zdjecie()
{
global $sciezka;
if (is_uploaded_file($_FILES["zdjecie"]["tmp_name"]))
{
copy($_FILES["zdjecie"]["tmp_name"], $sciezka['zdjecia'].$_FILES["zdjecie"]["name"]);
unlink($_FILES["zdjecie"]["tmp_name"]);
$this->skaluj("".$sciezka['zdjecia'].$_FILES["zdjecie"]["name"]."","".$sciezka['zdjecia']."/skal/".$_FILES["zdjecie"]["name"]."",120,120);
}
}
//funkcja odpowiedzialna za skalowanie zdjecia
function skaluj($sciezkaimg,$sciezkaskal,$szer,$wys)
{
$nazwa_pliku = basename($sciezkaimg);

$djpeg = "/usr/bin/djpeg";
$cjpeg = "/usr/bin/cjpeg";
$pnmscale = "/usr/bin/pnmscale";
$giftopnm = "/usr/bin/giftopnm";
$ppmtogif = "/usr/bin/ppmtogif";
$ppmquant = "/usr/bin/ppmquant";

$wielkosc = GetImageSize("$sciezkaimg");
$szerokosc = $wielkosc[0];
$wysokosc = $wielkosc[1];

if (($szerokosc < $szer && $wysokosc < $wys) || ($szer == '0' && $wysokosc < $wys) || ($szerokosc < $szer && $wys =='0')) {
exec("cp "$sciezkaimg" "$sciezkaskal"");
} else {

$skal = '0';

if ($szer != '0' && $wys != '0') {

$testszer = $szerokosc / $szer;
$testwys = $wysokosc / $wys;
if ($testszer >= $testwys) {
$skal = "-width $szer";
} else {
$skal = "-height $wys";
}
}

if ($szer == '0' && $wys != '0') {
$skal = "-height $wys";
}
if ($szer != '0' && $wys == '0') {
$skal = "-width $szer";
}

if (ereg(".gif",$nazwa_pliku) || ereg(".GIF",$nazwa_pliku)) {
exec("$giftopnm "$sciezkaimg" | $pnmscale $skal | $ppmquant 256 | $ppmtogif -interlace > "$sciezkaskal"");
}
if (ereg(".jpg",$nazwa_pliku) || ereg(".JPG",$nazwa_pliku)) {
exec("$djpeg "$sciezkaimg" | $pnmscale $skal | $cjpeg -outfile "$sciezkaskal"");
}

}
}
}
$zdjecie = new zdjecie;
?>
?>[/php:1:5bc8f1f409]
Myśle se co będe załował i wkleiłem cały :wink:
Z góry dzięki za zainteresowanie i pomoc.
Pozdrawiam patS.


--------------------
www.tigroup.pl Rozwiązania informatyczne dla sektora MSP.
Projektowanie i tworzenie stron www, dedykowane rozwiązania e-biznes, outsourcing usług programis
Go to the top of the page
+Quote Post
zalew
post 12.11.2003, 14:28:23
Post #2





Grupa: Zarejestrowani
Postów: 407
Pomógł: 0
Dołączył: 24.10.2002
Skąd: warszawa

Ostrzeżenie: (0%)
-----


- moze nie lapac $_FILES tylko $HTTP_POST_FILES
- sprawdzales wartosci zmiennych czy dobrze sie przekazuja az do samego konca? np starym dobrym echo()?


--------------------
Go to the top of the page
+Quote Post
adwol
post 12.11.2003, 21:48:29
Post #3





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Zamień na chwilę te funkcje exec na system, żeby wywaliły Ci na ekran wyniki tych poleceń. Wtedy będzie można zobaczyć czy problem nie leży po stronie tych poleceń systemowych. Może któregoś nie być, albo być na innej ścieżce, albo w ogóle może się coś nie powieść, a tak zobaczysz co się dokładnie dzieje.

Zobacz, poza tym, czy napewno działa Ci kopiowanie uploadniętego pliku (vs safe_mode).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2024 - 06:48