2016-04-24 2 views
0

Я пытаюсь изменить размер изображения, но я все еще получаю ту же ошибку:(PHP) Image Resize не удалось:/

Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: in /Applications/XAMPP/xamppfiles/htdocs/dad/gallery.php on line 18

Warning: imagecreatefromjpeg(): 'img/test/Bildschirmfoto 2014-01-25 um 08.05.13 nachm Kopie.jpg' is not a valid JPEG file in /Applications/XAMPP/xamppfiles/htdocs/dad/gallery.php on line 18

Warning: imagesx() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/dad/gallery.php on line 19

Warning: imagesy() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/dad/gallery.php on line 20

Notice: A non well formed numeric value encountered in /Applications/XAMPP/xamppfiles/htdocs/dad/gallery.php on line 24

Notice: A non well formed numeric value encountered in /Applications/XAMPP/xamppfiles/htdocs/dad/gallery.php on line 24

Warning: imagesx() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/dad/gallery.php on line 25

Warning: imagesy() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/dad/gallery.php on line 25

Warning: imagecopyresized() expects parameter 2 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/dad/gallery.php on line 25

Итак, вот мой код:

function make_thumb($image_path, $thumb_path, $thumb_width) { 
    $src_img = imagecreatefromjpeg("$image_path"); 
    $origw=imagesx($src_img); 
    $origh=imagesy($src_img); 
    $new_w = $thumb_width; 
    $diff=$origw/$new_w; 
    $new_h=$new_w; 
    $dst_img = imagecreatetruecolor($new_w,$new_h); 
    imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img)); 
    imagejpeg($dst_img, "$thumb_path"); 
    RETURN TRUE; 
} 

И вот изображение:

1

+1

_'img/тест/Bildschirmfoto 2014-01-25 мкм 08.05.13 nachm Kopie. jpg 'не является допустимым файлом JPEG <- вот и все. – Federkun

+0

ой, ну ... что это тогда? – wEisB0145

ответ

0

С вашей ошибки ресурс не является допустимым jpg как состояние ошибки, а следующие ошибки после этого всего лишь цепочкой.

Я хотел бы предложить вам использовать эту библиотеку, которую я написал на PHP image upload, resize and crop called eImage

Попробуйте этот код Вместо:

function make_thumb($image_path, $thumb_path, $thumb_width) { 
    $src_img = imagecreatefromjpeg("$image_path"); 
    $origw=imagesx($src_img); 
    $origh=imagesy($src_img); 

    // This calculations goes is for? 
    // note that diff is not being used 
    $new_w = $thumb_width; 
    $diff = $origw/$new_w; 
    $new_h = $new_w; 
    // end of calculation 
    $canvas = imagecreatetruecolor($new_w,$new_h); 
    imagecopyresampled($canvas,$src_img,0,0,0,0,$new_w,$new_h,$origw,$origh); 
    imagejpeg($canvas, $thumb_path); 
    imagedestroy($src_img); 
    imagedestroy($canvas); 
    return true; 
} 
+0

Спасибо! Это помогло мне – wEisB0145

+0

Не забывайте отмечать ответ как правый. Приятно знать, что это сработало :) –