Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > Проблема с масштабированием картинки


Автор: aleksey_from_kg 28.12.2006, 08:00
У меня есть код масштабирования картинки. На локалке он нормально работает, а вот на сервере что-то работать не хочет.
Код

<?php
// Функция автоматического масштабирования изображения
// $filename — имя исходного изображения
// $smallimage — имя файла уменьшенной копии
// $w и $h — максимальные размеры изображения по ширине и высоте
function resizeimg($filename, $smallimage, $w, $h)
{
// Определение коэффициента сжатия уменьшенной копии изображения
$ratio = $w/$h;
// Получение размеров исходного изображения
$size_img = getimagesize($filename);
// Если размеры меньше, то масштабирование не нужно
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
// Определение коэффициента сжатия исходного изображения
$src_ratio=$size_img[0]/$size_img[1] ;
// Вычисление размеров уменьшенной копии, чтобы при
// масштабировании были сохранены пропорции исходного изображения
if ($ratio<$src_ratio) $h = $w/$src_ratio;
else $w - $h*$src_ratio;
// Создание пустого изображения по заданным размерам
$dest_img = imagecreatetruecolor($w, $h);
// Вызов функции создания изображения
// в зависимости от расширения исходного файла
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename);
else if ($size_img[2]==l) $src_img = imagecreatefromgif($filename);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename);
// Масштабирование изображения
if (!imagecopyresampled($dest_img, $src_img,
0, 0, 0, 0, $w, $h,
$size_img[0], $size_img[1])) return false;
//В зависимости от расширения имени файла с уменьшенной копией,
// переданного в параметрах функции,
// вызываем функцию сохранения уменьшенной копии в файл
$path_parts=pathinfo($smallimage);
if ($path_parts ["extension"] == "jpg")
imagejpeg($dest_img, $smallimage);
else if ($path_parts["extension"] == "gif")
imagegif($dest_img, $smallimage);
else if ($path_parts["extension"] == "png")
imagepng($dest_img, $sma11image);
// Очищение памяти от созданных изображений
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}
resizeimg("picture.jpg", "smoll_picture.jpg", 100, 100);
?>


немогу понять в  чем может быть проблема. и как ее можно решить?

Автор: PARROT 28.12.2006, 10:00
aleksey_from_kg, вам работающий скрипт найти?
Поиск вроде не в прошлом веке придумали.  smile 

Автор: -=Ustas=- 28.12.2006, 10:48
aleksey_from_kg, включи вывод ошибок и поймешь в чем дело. Может прав на запись нет, может нет GD, может еще что то. Мы по вашему тут что, телепаты что ли.... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)