Templorials
Erfahrenes Mitglied
hallo.
ich habe ein bildupload script wo die bilder auf eine bestimmte größe gebracht werden. mit max. höhe und max breite. für die formate gif, jpeg und png. klappt auch wunderbar. nur wenn ich beim upload ein bild auswähle das aus diesem script entstanden ist. kommt folgende fehlermeldung beim lesen des bildes:
gefolgt von weiteren meldungen die aber eben nur wegen dem kommen.
was ist da das problem?
scriptteil der das bild bearbeitet:
ich habe ein bildupload script wo die bilder auf eine bestimmte größe gebracht werden. mit max. höhe und max breite. für die formate gif, jpeg und png. klappt auch wunderbar. nur wenn ich beim upload ein bild auswähle das aus diesem script entstanden ist. kommt folgende fehlermeldung beim lesen des bildes:
Code:
Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: in /home/htdocs/web58/html/michi/kochstube/contents/uplpic.inc.php on line 10
Warning: imagecreatefromjpeg(): '/home/htdocs/web58/phptmp/phpJHST2m' is not a valid JPEG file in /home/htdocs/web58/html/michi/kochstube/contents/uplpic.inc.php on line 10
gefolgt von weiteren meldungen die aber eben nur wegen dem kommen.
was ist da das problem?
scriptteil der das bild bearbeitet:
PHP:
$pic_tempname = $_FILES['file']['tmp_name'];
$pic_name = $_FILES['file']['name'];
$pic_type = $_FILES['file']['type'];
switch ($pic_type) {
case "image/gif": $pic = imagecreatefromgif($pic_tempname); break;
case "image/jpg": case "image/jpeg": $pic = imagecreatefromjpeg($pic_tempname); break;
case "image/png": $pic = imagecreatefrompng($pic_tempname); break;
default: $type_error = 1; break;
}
if($type_error != 1) {
$x = imagesx($pic);
$y = imagesy($pic);
$max_x = 200; $max_y = 120;
if (($max_x/$max_y) < ($x/$y)) {
$save = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x));
}
else {
$save = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y));
}
imagecopyresized($save, $pic, 0, 0, 0, 0, imagesx($save), imagesy($save), $x, $y);
$string_pool = "qwertzupasdfghkyxcvbnm";
$string_pool .= "POIUZTREWQLKJHGFDSAMNBVCXY";
$string_pool .= "5172038469";
srand ((double)microtime()*1000000);
for($i=0;$i<=8;$i++) {
$random .= substr($string_pool,(rand()%(strlen ($string_pool))), 1);
}
switch ($pic_type) {
case "image/gif": $path_img = "thumb_".$rid."_".$_SESSION[id]."_".$random.".gif"; imagegif($save, "images/thumbs/".$path_img); break;
case "image/jpg": case "image/jpeg": $path_img = "thumb_".$rid."_".$_SESSION[id]."_".$random.".jpg"; imagejpeg($save, "images/thumbs/".$path_img); break;
case "image/png": $path_img = "thumb_".$rid."_".$_SESSION[id]."_".$random.".png"; imagepng($save, "images/thumbs/".$path_img); break;
}