imagesx(): supplied argument is not a valid Image resource

horal

Новичок
imagesx(): supplied argument is not a valid Image resource

вот такая ошибка возникает при загрузке фото на сервер.

на localhost все работает на ура.

на форуме ответа не нашел.

где-то читал, что есть проблема с GD если jpeg немного запорченный - и что как-то там использовали ImageMagic

либо что-то подобное.


подскажите кто знает, бо уже заманался искать....

спасибо!
 

dimagolov

Новичок
horal
а можно поинтересоваться, что именно у тебя работает на ура на localhost, а где-то еще выдает ошибку?
 

horal

Новичок
2dimagolov:

есть 3 фотографии, на Localhost они загружаются без проблем.

на сервере:
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: '/tmp/phpK6xC6e' is not a valid JPEG file in Thumbnail.php on line 51

Warning: imagesx(): supplied argument is not a valid Image resource in Thumbnail.php on line 64

Warning: imagesy(): supplied argument is not a valid Image resource in Thumbnail.php on line 66

Warning: Division by zero in Thumbnail.php on line 112

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in Thumbnail.php on line 116

Warning: imagesx(): supplied argument is not a valid Image resource in Thumbnail.php on line 133

Warning: imagesy(): supplied argument is not a valid Image resource in Thumbnail.php on line 134

то есть якобы файл не является картинкой.

действия по обработке - создание картинки определенного размера.

я где-то читал, что GD2 может быть капризна к фотографиям. И если они чуть-чуть запорчены ( т.е. они отображаются, но где-то там пиксль не так или что,) и GD2 не хочет их брать.

и товарищ тот вроде делал небольшой resize photo ImageMagic - а потом gd

вроде так.
 

horal

Новичок
вы наверно не поняли. на сервак в целом фото загружаются, но не которые нет - ошибки такие вот летят

-~{}~ 30.10.07 10:20:

PHP:
if($this->canUpload($size,$album_id,$user_id))
	{
	  ini_set('gd.jpeg_ignore_warning', 1);

	  for($i=0; $i < $size; $i++ )
	  {
			if(0 == $_FILES['photo_'.$i]['error'])
		  	{ 
				$new_photo = new Photo();
				$new_photo->photos_photos_id = 0;
		        $new_photo->photos_album_id  = $album_id;
		        $new_photo->photos_public    = $new_photo->isPublicAlbum($album_id); 
		        $new_photo->photos_user_id   = $user_id;
		        $new_photo->photos_num_comments=0;
		        $new_photo->photos_registration_date = date("Y-m-d H:i:s", time());
		        $photo_title = $_POST["title_$i"];
		        
		        if( $photo_title == '' )
		        {
		        	$name = $_FILES['photo_'.$i]['name'];
		        	$pos = strpos($name,".");
		        	
     			    if($pos===false)
	   					$photo_title = $name;
				    else 
     			  	   $photo_title = substr ($name,0,$pos);
		        }
		         
		        $new_photo->photos_title = $photo_title;
		        $new_photo->photos_is_ok = 0; 
		        //
		        list($width, $height, $type, $attr) = getimagesize($_FILES['photo_'.$i]['tmp_name']);
		        $new_photo->photos_width  = $width;
		        $new_photo->photos_height = $height;

		        $photo_id = $new_photo->save();
		        $path = "./upload/user_photos/$user_id/$album_id/".md5($photo_id);

		        Thumbnail::makeThumbnail ($_FILES['photo_'.$i]['tmp_name'],$path.'_small.jpg',250,250,PHOTO_DIR);
	            Thumbnail::makeThumbnail ($_FILES['photo_'.$i]['tmp_name'],$path.'_medium.jpg',500,500,PHOTO_DIR);
	            $path = Thumbnail::makeThumbnail ($_FILES['photo_'.$i]['tmp_name'],$path.'_big.jpg',0,0,PHOTO_DIR);
	            $iCountPhotos++;
	            $filesize += filesize($path);

		  	}
		  }
}
-~{}~ 30.10.07 10:25:

phpinfo дает gd 2.0 or higher
 

Активист

Активист
Команда форума
Кажется тут все написано
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: '/tmp/phpK6xC6e' is not a valid JPEG file in Thumbnail.php on line 51

Перевести сложно?
 

horal

Новичок
2 Активист: я же в самом начале написал, что на localhost данное изображение закачивается без проблем, а на сервер не могу его закачать

то есть "is not a valid JPEG file" - это конечно понятно.

но такой проблемы на localhost нету.

вот и не могу понять причины почему одно и тоже фото Not Valid
 

quad_4

Новичок
1. это происходит с каким-то определенным файлом ? или рандомом ?
2. этот же файл на localhost заливается нормально ?
3. если этот файл пробовать закачивать 20 раз, хоть раз он зальется ?

4. посмотри в php.ini параметр upload_max_filesize, если ты будешь закачивать файлы размером больше чем это значение, возможно(???) php будет обрезать файл.
 

Фанат

oncle terrible
Команда форума
horal
ты правда не понимаешь, что дело тут не в коде, а в закачке?
 

Pigmeich

Новичок
horal
Код:
$photo_id = $new_photo->save(); 
$path = "./upload/user_photos/$user_id/$album_id/".md5($photo_id);
Уверен, что одинаковых путей не будет?
 

horal

Новичок
1. это происходит с каким-то определенным файлом ? или рандомом ?
>> с определенным файлом. Именно он не грузиться.


2. этот же файл на localhost заливается нормально ?
да

3. если этот файл пробовать закачивать 20 раз, хоть раз он зальется ?
нет

4. посмотри в php.ini параметр upload_max_filesize, если ты будешь закачивать файлы размером больше чем это значение, возможно(???) php будет обрезать файл.

файл 480kb

Это не размер файла.
 

SiMM

Новичок
> то есть якобы файл не является картинкой.
А почему Вы решили, что файл, обрабатываемый скриптом, якобы является картинкой?
 

horal

Новичок
Автор оригинала: SiMM
> то есть якобы файл не является картинкой.
А почему Вы решили, что файл, обрабатываемый скриптом, якобы является картинкой?
потому что это картинка, которую грузится с компа на сервак.

ВАЖНО: есть проблемные фотографии. 80-90% случаев все закачивается. но иногда, почему-то ошибки лезут. как вот в данном случае.
 

dimagolov

Новичок
horal
4. посмотри в php.ini параметр upload_max_filesize и напиши что там за значение, а не размер файла, который ты заливаешь
 

Фанат

oncle terrible
Команда форума
он, по-моему, вообще не улавливает причинно-следственные связи.
 

SiMM

Новичок
> потому что это картинка, которую грузится с компа на сервак.
Мдя... Вы её скачивать с сервера и смотреть - пробовали? Интересно, почему до сих пор нет?
http://phpfaq.ru/debug
 

horal

Новичок
Автор оригинала: dimagolov
horal
4. посмотри в php.ini параметр upload_max_filesize и напиши что там за значение, а не размер файла, который ты заливаешь
как уже писал выше: файл 480kb

по умолчанию 2mb

у меня 10mb

я уже говорил о том, что причина не в этом
 
Сверху