not a valid jpeg file error
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:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?
$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;
}
?>
$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;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Dennis van der Meer
Wat ik nu heb gemerkt, als ik mijn scripts op een andere (gratis)host uitvoer het daar wel werkt. Ofwel, ik vermoed dat het dan ligt aan de host funpic.de, waar hij dus flipt.