Sprawa jest o tyle dziwna, że gdy uploaduje zdjęcie o rozmiarach dokładnie pożądanych lub mniejszych to jest ok, jednak gdy wrzucam fotke większą to wylatują błędy.
To kawałek kodu:
<?php if ($_FILES[mapka]['name']) { if($rozszerzenie == "JPG" or $rozszerzenie == "jpg" or $rozszerzenie == "PNG" or $rozszerzenie == "png" or $rozszerzenie == "BMP" or $rozszerzenie == "bmp" or $rozszerzenie == "GIF" or $rozszerzenie == "gif") { $dir = 'images/mapka/'.$gen.'.'.$rozszerzenie.''; $file = $_FILES[mapka]['tmp_name']; $org = imagecreatefromjpeg($file); if ($size_org[0] > $size_org[1]) { $x_new = 320; $y_new = $x_new * $size_org[1]/$size_org[0]; } else { $y_new =320; $x_new = $y_new * $size_org[0]/$size_org[1]; } $new = imagecreatetruecolor($x_new,$y_new); imagecopyresized($new,$org,0,0,0,0,$x_new,$y_new,$size_org[0],$size_org[1]); imagejpeg($new,$dir,80); imagedestroy($new); imagedestroy($org); } else { $_SESSION["Info"] = "Błąd! Rozszerzenie pliku jest niezgodne z oczekiwanym.<br>Dopuszczalne rozszerzenia to jpg, bmp, gif, png.<br>Za 3 sekundy strona sie przeładuje..."; // print "<tr><td width='780px' height='44px' colspan='3' class='naglowekprzekierowanie'></td></tr>"; print "<tr><td align='center' width='780px' height='150px' colspan='3' class='trescprzekierowanie'>"; include "footer.php"; exit; } } ?>
A tu błąd przy uploadzie zdjęć większych niż pożądane rozmiary:
Warning: Division by zero in c:\usr\krasnal\www\tranex\includes\kontakt_func.php on line 187 (odpowiednio linia 20)
Warning: imagecreatetruecolor(): Invalid image dimensions in c:\usr\krasnal\www\tranex\includes\kontakt_func.php on line 190 (odpowiednio linia 23 itd.)
Warning: imagecopyresized(): supplied argument is not a valid Image resource in c:\usr\krasnal\www\tranex\includes\kontakt_func.php on line 192
Warning: imagejpeg(): supplied argument is not a valid Image resource in c:\usr\krasnal\www\tranex\includes\kontakt_func.php on line 193
Warning: imagedestroy(): supplied argument is not a valid Image resource in c:\usr\krasnal\www\tranex\includes\kontakt_func.php on line 194
Warning: imagedestroy(): supplied argument is not a valid Image resource in c:\usr\krasnal\www\tranex\includes\kontakt_func.php on line 195
Wiem, ze te błędy to wynik dzielenia przez 0. Jednak dziwne, że tylko przy obrazach większych niż pożądane wartości.
Czy możliwe aby funkcja getimagesize(0; pobierała błędne wartości?
Zmienna $size_org nie zawiera żadnych wartości wtedy gdy wylatuje błąd.