Anton63
Новичок
Сжатие изображения
Скрипт по сжатию изображения jpg, png или gif.
Этот скрипт подгоняет аватарку пользователя под ширину 80 px, аватару загружает пользователь со своего компа.
Конфигурации:
сам скрипт:
$name генерируется рандомно... до этого скрипта.
ошибку пишет в строках
вот сами ошибки:
Warning: imagesx(): supplied argument is not a valid Image resource in Z:\home\test1.ru\www\work_registr.php on line 136
Warning: imagesy(): supplied argument is not a valid Image resource in Z:\home\test1.ru\www\work_registr.php on line 137
Warning: Division by zero in Z:\home\test1.ru\www\work_registr.php on line 139
Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in Z:\home\test1.ru\www\work_registr.php on line 140
Warning: imagecopyresized(): supplied argument is not a valid Image resource in Z:\home\test1.ru\www\work_registr.php on line 141
Подскажите в чём проблема...
Скрипт по сжатию изображения jpg, png или gif.
Этот скрипт подгоняет аватарку пользователя под ширину 80 px, аватару загружает пользователь со своего компа.
Конфигурации:
PHP:
$f_name = $_FILES['avat']['name'];
$path_img = 'avat/';
$path_tmp = 'tmp/avat/';
$final_width = 80;
сам скрипт:
PHP:
if(preg_match('/[.](jpg)$/', $f_name))//Определяем формат изображения
$im = imagecreatefromjpeg($path_tmp . $f_name);
else
if (preg_match('/[.](gif)$/', $filename))
$im = imagecreatefromgif($path_tmp . $f_name);
else
if (preg_match('/[.](png)$/', $filename))
$im = imagecreatefrompng($path_tmp . $f_name);
$ox = imagesx($im); //ширина и высота загруженого изображения
$oy = imagesy($im);
$nx = $final_width; //ширина и высота сжатого изображения
$ny = floor($oy * ($final_width/ $ox));
$nm = imagecreatetruecolor($nx, $ny); //создание формы для сжатого изображения
imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy);//вставка в форму
if(preg_match('/[.](jpg)$/', $f_name))//Вставляем отредактированое изображение, в зависимости от формата
{
$im = imagecreatefromjpeg($path_tmp . $f_name);
imagejpeg($nm, $path_img . $name);
unlink($path_tmp . $f_name);
}
else
if (preg_match('/[.](gif)$/', $f_name))
{
$im = imagecreatefromgif($path_tmp . $f_name);
imagegif($nm, $path_img . $name);
unlink($path_tmp . $f_name);
}
else
if (preg_match('/[.](png)$/', $f_name))
{
$im = imagecreatefrompng($path_tmp . $f_name);
imagepng($nm, $path_img . $name);
unlink($path_tmp . $f_name);
}
$name генерируется рандомно... до этого скрипта.
ошибку пишет в строках
PHP:
$ox = imagesx($im);
$oy = imagesy($im);
$ny = floor($oy * ($final_width/ $ox));
$nm = imagecreatetruecolor($nx, $ny);
imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy);
вот сами ошибки:
Warning: imagesx(): supplied argument is not a valid Image resource in Z:\home\test1.ru\www\work_registr.php on line 136
Warning: imagesy(): supplied argument is not a valid Image resource in Z:\home\test1.ru\www\work_registr.php on line 137
Warning: Division by zero in Z:\home\test1.ru\www\work_registr.php on line 139
Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in Z:\home\test1.ru\www\work_registr.php on line 140
Warning: imagecopyresized(): supplied argument is not a valid Image resource in Z:\home\test1.ru\www\work_registr.php on line 141
Подскажите в чём проблема...