Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите разобраться с функцией

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
nkl
Отправлено: 09 Февраля, 2012 - 23:19:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




Имеется функция для создания миниатюр изображений, нашел где-то на просторах рунета, как мне показалось самый "читабельный" вариант:
PHP:
скопировать код в буфер обмена
  1.  
  2. /***********************************************************************************
  3. Функция imgResize(): генерация thumbnails
  4. Параметры:
  5.   $src             - имя исходного файла
  6.   $dest            - имя генерируемого файла
  7.   $width, $height  - ширина и высота генерируемого изображения, в пикселях
  8. Необязательные параметры:
  9.   $rgb             - цвет фона, по умолчанию - белый
  10.   $quality         - качество генерируемого JPEG, по умолчанию - максимальное (100)
  11. ***********************************************************************************/
  12. function imgResize($src, $dest, $width, $height, $rgb=0xFFFFFF, $quality=100)
  13. {
  14.   if (!file_exists($src)) return false;
  15.  
  16.   $size = getimagesize($src);
  17.  
  18.   if ($size === false) return false;
  19.  
  20.   // Определяем исходный формат по MIME-информации, предоставленной
  21.   // функцией getimagesize, и выбираем соответствующую формату
  22.   // imagecreatefrom-функцию.
  23.   $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
  24.   $icfunc = "imagecreatefrom" . $format;
  25.   if (!function_exists($icfunc)) return false;
  26.  
  27.   $x_ratio = $width / $size[0];
  28.   $y_ratio = $height / $size[1];
  29.  
  30.   $ratio       = min($x_ratio, $y_ratio);
  31.   $use_x_ratio = ($x_ratio == $ratio);
  32.  
  33.   $new_width   = $use_x_ratio  ? $width  : floor($size[0] * $ratio);
  34.   $new_height  = !$use_x_ratio ? $height : floor($size[1] * $ratio);
  35.   $new_left    = $use_x_ratio  ? 0 : floor(($width - $new_width) / 2);
  36.   $new_top     = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);
  37.  
  38.   $isrc = $icfunc($src);
  39.   $idest = imagecreatetruecolor($width, $height);
  40.  
  41.   imagefill($idest, 0, 0, $rgb);
  42.   imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0,
  43.     $new_width, $new_height, $size[0], $size[1]);
  44.  
  45.   imagejpeg($idest, $dest, $quality);
  46.  
  47.   imagedestroy($isrc);
  48.   imagedestroy($idest);
  49.  
  50.   return true;
  51.  
  52. }
  53.  

Но вот не хочет она работать! Параметры я вроде правильно передаю, вот print_r переменных
Цитата:
[src] => http:/premaman.nkl.su/files/lot_img/full/lot-23.jpg [dest] => ../files/lot_img/thumbs/thumb-23 .jpg [width] => 200 [height] => 150

И тупо в папке thumbs ничего не появляется. Может это функция глючная или я?

(Отредактировано автором: 09 Февраля, 2012 - 23:20:24)

 
 Top
Panoptik
Отправлено: 09 Февраля, 2012 - 23:37:55
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




а не пробовал сперва на локальных файлах потренироваться, а то сразу удаленные доставать попытки предпринимаешь?


-----
Just do it
 
 Top
Okula
Отправлено: 10 Февраля, 2012 - 01:22:35
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Скорее всего всего ты, потому что передавать удалённый путь в эту функцию нельзя.
Я эту функцию давненько тоже видел и работает она хорошо.
 
 Top
nkl
Отправлено: 10 Февраля, 2012 - 05:05:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




Знаете, название переменной $src сказало мне как раз об обратном и я прописал именно полный путь, который использую для показа картинки в атрибуте src тега <img>.
(Добавление)
Большое спасибо, господа! Все заработало, стояло только сменить на http:/premaman.nkl.su/files/lot_img/full/lot-23.jpg на ../files/lot_img/full/lot-23.jpg
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB