2013-04-21 3 views
1

Я пытаюсь повторно размера фотографий в цикле в то время как в PHP, но я продолжаю получать ошибки, как:Ошибки при попытке повторно размер изображения

Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: in C:\Users\Bob\xampp\htdocs\house\allphotos.php on line 17 

Warning: imagecreatefromjpeg(): 'userphotos/27_1366493160164_BMW.jpg' is not a valid JPEG file in C:\Users\Bob\xampp\htdocs\house\allphotos.php on line 17 

Warning: imagecopyresized() expects parameter 2 to be resource, boolean given in C:\Users\Bob\xampp\htdocs\house\allphotos.php on line 27 

Тогда тонна случайных символов ...

В следующем случае я пытаюсь повторить две фотографии, выбранные с новым размером. Я считаю, что это как-то связано с $image, я не использую функцию правильно?

ini_set("gd.jpeg_ignore_warning", 1); //just added 
if ($getphotos->execute()){ 
     while ($array = $getphotos->fetch(PDO::FETCH_ASSOC)){ 

      $image = imagecreatefromjpeg('userphotos/'.$array['photoname'].''); 


      list($image_width, $image_height, $type, $attr) = getimagesize('userphotos/'.$array['photoname'].''); 

      $new_size = ($image_width + $image_height)/($image_width*($image_height/100)); 
      $new_width = $image_width * $new_size; 
      $new_height = $image_height * $new_size; 

      $new_image = imagecreatetruecolor($new_width, $new_height); 
      imagecopyresized($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height); 
      $imagearray = imagejpeg($new_image, null); 

      echo $imagearray; 
      //echo '<img src="userphotos/'.$array['photoname'].'">'; 

     } 
    } else { die('Query Error'); } 

ответ

2

GD может быть неумолимым для JPEGs, которые поодаль, в то время как в теории, файл прекрасно работает, когда вы открываете его и т.д., вы можете подавить предупреждение и пусть он продолжает свой веселый путь со следующим:

ini_set("gd.jpeg_ignore_warning", 1); 

Это позволит продолжить обработку и игнорировать предупреждение. Ваше изображение более чем вероятно будет обрабатываться без проблем.

+0

Хорошо спасибо за решение, и я просто добавил его, как вы можете видеть в моем редактировании, но он все еще не работает. Я почти уверен, что ошибки исходят из строки '$ image = imagecreatefromjpeg ... '. Есть ли какая-то замена, которую я могу использовать, чтобы заставить ее работать? – user2127833

+0

Единственное другое предложение - посмотреть, сможет ли ваш хост обновить пакет 'jpglib' – duellsy

+0

Оказывается, что это связано с определенной фотографией, я удалил фотографию, и она сработала. – user2127833

Смежные вопросы