Forum Webscript.Ru

Программирование => PHP => Тема начата: alex007 от 08 Апреля 2004, 21:31:36

Название: Работа с различными типами картинок
Отправлено: alex007 от 08 Апреля 2004, 21:31:36
Привет,

Сразу могу сказать поиск делал, тема закрыта, в которой хотел бы задать вопрос.

Тема вот (http://forums.webscript.ru/showthread.php?s=&postid=103960#post103960).

Отуда беру пример Mog.-а, переделываю:


//для примера
$new_width=100;
$new_hieght=100;

$image_temp = $server_image_temp_dirlocation.$_FILES[\'image_file\'][\'name\'];
$image = $server_image_dirlocation.$_FILES[\'image_file\'][\'name\'];
$image_file_type = $_FILES[\'image_file\'][\'type\'];

//размер
$size=GetImageSize("$image_temp");
$old_width=$size[0];
$old_hieght=$size[1];

//если jpeg и ему подобным
if ($image_file_type =="image/jpeg" ||  $image_file_type =="image/jpg" || $image_file_type = "image/pjpeg") $image_old = imagecreatefromjpeg($image_temp);
// если gif
if ($image_file_type =="image/gif") $image_old = imagecreatefromgif($image_temp);
// если png
if ($image_file_type =="image/png" || $image_file_type =="image/x-png") $image_old = imagecreatefrompng($image_temp);

$image_new = imagecreatetruecolor($new_width,$new_hieght);

imagecopyresized($image_new,$image_old,0,0,0,0,$new_width,$new_hieght,$old_width,$old_hieght);

//если jpeg и ему подобным
if ($image_file_type =="image/jpeg" ||  $image_file_type =="image/jpg" || $image_file_type = "image/pjpeg") imagejpeg($image_new, $image);

// если gif
if ($image_file_type =="image/gif") imagegif($image_new, $image);

// если png
if ($image_file_type =="image/png"  || $image_file_type =="image/x-png") imagepng($image_new, $image);
 

jpg файл изменяет размер без проблем, а вот с gif и png ругается в строке:
if ($image_file_type =="image/jpeg" ||  $image_file_type =="image/jpg" || $image_file_type = "image/pjpeg") $image_old = imagecreatefromjpeg($image);

А вот и сам лог:
Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: in /home/website/public_html/add.php on line 246

Warning: imagecreatefromjpeg(): \'/home/website/public_html/images/files.png\' is not a valid JPEG file in /home/website/public_html/add.php on line 246

Ну а это следует, так как не фига копировать и изменять...
Warning: imagecopyresized(): supplied argument is not a valid Image resource in /home/website/public_html/add.php on line 250

Что не так, все же расписано для каждого типа файла?
Жду Ответов.
Название: Работа с различными типами картинок
Отправлено: AliMamed от 08 Апреля 2004, 22:57:34
опечатка у тебя в строке
if ($image_file_type =="image/jpeg" ||  $image_file_type =="image/jpg" || $image_file_type = "image/pjpeg")


а надо
if ($image_file_type =="image/jpeg" ||  $image_file_type =="image/jpg" || $image_file_type == "image/pjpeg")
Название: Работа с различными типами картинок
Отправлено: AliMamed от 08 Апреля 2004, 22:59:52
и еще в двух местах вместо сравнения операция присвоения, которая естьвенно возвращает тру
Название: Работа с различными типами картинок
Отправлено: alex007 от 09 Апреля 2004, 00:00:48
AliMamed
Спасибо.