ik heb een upload script gemaakt die foto's verkleint. Werkt prima, maar af en toe zit er een foto tussen waarbij ik de foutmelding krijg, Warning: imagecreatefromjpeg() .... is not a valid jpeg file.
De foto's worden gemaakt met mijn fototoestel, 99% van de gevallen worden gewoon geüpload, enkel sommige niet.
Dat vind ik raar, maar ik ben gaan googlen, en daar lees ik dat het dan om een corrupt bestand gaat, enkele bytes zijn niet in orde.
Open ik de foto in een foto programma, sla hem opnieuw op, daarna doet hij het wel gewoon.
Maar wat blijkt, als ik die "corrupte" foto upload bij een site als photobucket, de foto het wel gewoon normaal doet.
Wie weet wat het is, en wat ik eventueel zou moeten doen om ervoor te zorgen dat die foto's toch geüpload kunnen worden?
Met vriendelijke groet,
Dennis van der Meer
Hier nog een stukje van de code:
<?
$type = $_FILES['uploadfile']['type'];
list($width, $height) = getimagesize($upfile);
$makeSurface = imagecreatetruecolor($newWidth, $newHeight);
switch($type) {
case "image/jpeg": $createImage = imagecreatefromjpeg($upfile); break;
case "image/jpg": $createImage = imagecreatefromjpeg($upfile); break;
case "image/pjpeg": $createImage = imagecreatefromjpeg($upfile); break;
case "image/bmp": $createImage = imagecreatefromwbmp($upfile); break;
case "image/png": $createImage = imagecreatefrompng ($upfile); break;
case "image/x-png": $createImage = imagecreatefrompng ($upfile); break;
case "image/gif": $createImage = imagecreatefromgif ($upfile); break;
}
imagecopyresampled($makeSurface, $createImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
switch($type) {
case "image/jpeg": $newImage = imagejpeg($makeSurface, $upfile); break;
case "image/jpg": $newImage = imagejpeg($makeSurface, $upfile); break;
case "image/pjpeg": $newImage = imagejpeg($makeSurface, $upfile); break;
case "image/bmp": $newImage = imagewbmp($makeSurface, $upfile); break;
case "image/png": $newImage = imagepng ($makeSurface, $upfile); break;
case "image/x-png": $newImage = imagepng ($makeSurface, $upfile); break;
case "image/gif": $newImage = imagegif ($makeSurface, $upfile); break;
}
?>