Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не работает функция imagecreatefromjpeg
 
 автор: LO   (11.05.2006 в 12:02)   письмо автору
 
 

Создала скрипт на изменение р-ра картинки, на локале все работает, загружаю на сервер, а там нисего. Не работает именно эта функция, чем можно ее заменить?

   
 
 автор: XPraptor   (11.05.2006 в 12:10)   письмо автору
 
   для: LO   (11.05.2006 в 12:02)
 

Не может не работать эта функция. В некоторых версиях gif не работает, а jpeg во всех работает. Возможно проблемма с путями при создании файла или еще с чем, нужно код посмотреть. Код в студию!

   
 
 автор: LO   (11.05.2006 в 12:45)   письмо автору
 
   для: XPraptor   (11.05.2006 в 12:10)
 

с

   
 
 автор: LO   (11.05.2006 в 12:45)   письмо автору
 
   для: XPraptor   (11.05.2006 в 12:10)
 


function img_resize($src, $dest, $width, $height, $rgb=0xFFFFFF, $quality=100)
{
  if (!file_exists($src)) { return false;}
  $size = getimagesize($src);
  if ($size === false) return false;

  @$x_ratio = $width / $size[0];
  @$y_ratio = $height / $size[1];

  $ratio       = min($x_ratio, $y_ratio);
  $use_x_ratio = ($x_ratio == $ratio);

  $new_width   = $use_x_ratio  ? $width  : floor($size[0] * $ratio);
  $new_height  = !$use_x_ratio ? $height : floor($size[1] * $ratio);
  $new_left    = $use_x_ratio  ? 0 : floor(($width - $new_width) / 2);
  $new_top     = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);

  @$isrc = imagecreatefromjpeg($src);//$icfunc($src);
  $idest = imagecreatetruecolor($width, $height);

  imagefill($idest, 0, 0, $rgb);
  @imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0,
    $new_width, $new_height, $size[0], $size[1]);

  imagejpeg($idest, $dest, $quality); //выводит изображение в браузер

  imagedestroy($isrc);
  imagedestroy($idest);

  return true;

}



А использую вот так:

if (!file_exists('img/small/'.$data['photo'][$i].'.jpg') && file_exists('img/'.$data['photo'][$i].'.jpg'))
     {
         $name_big = 'img/'.$data['photo'][$i].'.jpg';
        $name_small = 'img/small/'.$data['photo'][$i].'.jpg';
         img_resize($name_big, $name_small, 163, 202);

     }

   
 
 автор: Trianon   (11.05.2006 в 13:00)   письмо автору
 
   для: LO   (11.05.2006 в 12:45)
 

А если в name_big написать полный серверный путь?
$name_big = $_SERVER["DOCUMENT_ROOT"].'/'.$name_big;

   
 
 автор: LO   (11.05.2006 в 13:06)   письмо автору
 
   для: Trianon   (11.05.2006 в 13:00)
 

все равно не работает

   
 
 автор: XPraptor   (12.05.2006 в 16:59)   письмо автору
 
   для: LO   (11.05.2006 в 13:06)
 

А у тебя точно есть такие пути и файлы?
Выведи в переменную конечное имя файла и посмотри какое оно - правильное или нет.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования