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 :: phpThumb.class.php

 PHP.SU

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


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

> Без описания
t0xas
Отправлено: 07 Ноября, 2012 - 14:27:42
Post Id



Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Май 2009  


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




Доброго времени!
Случилась интересная штука.
Есть сайт на wordpress, в нём есть plugin Post Gallery, который использует phpThumb.
После того как сайт перекинули на другой хостинг, всё накрылось медным тазом, phpThumb не может распознать изображения (насколько я понимаю).
Пишет: Unknow image type identifed by *HASH CODE*
SourceImageToGD 3647

Пошел я в исходники, нашёл эту строчку, которая выдает ошибку, и судя по тому что написано выше, автор скрипта не знает почему она происходит. (ИМХО)

Обновил я этот phpThumb, полазил по ошибкам и влкючал debug, но почему-то я не пойму в какую сторону рыть.

Права на диры стоят правильно. для проверки делал 777.
Пути вроде тоже все на месте.

Помогите! Может кто сталкивался с этой штукой.
Что мне показать, чтобы облегчить задачу?

Сейчас пытаюсь ставить imagemagick

(Отредактировано автором: 07 Ноября, 2012 - 15:31:31)

 
 Top
t0xas
Отправлено: 07 Ноября, 2012 - 17:46:42
Post Id



Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Май 2009  


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




Решил написать свой колхоз.

Вместо phpThumb вставил кусочек этот и доволен. всё работает. кеша теперь нету, но у меня и масштабы не промышленные.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. header( 'Content-Type: image/jpeg' );
  4. $doc_root =$_SERVER['DOCUMENT_ROOT'];
  5. $domain = 'http://'.$_SERVER['SERVER_NAME'];
  6.  
  7. if(strstr($_GET['src'], $domain) )
  8.     $src = str_replace($domain, $doc_root, $_GET['src']);
  9. else
  10.     $src = $doc_root.$_GET['src'];
  11.    
  12. $width = $_GET['w'];
  13. $height = $_GET['h'];
  14.  
  15. img_resize($src, $dest, $width, $height);
  16.        
  17. function img_resize($src, $dest, $width, $height, $rgb=0xFFFFFF, $quality=100) {
  18.    
  19.     if (!file_exists($src))
  20.             return false;
  21.        
  22.     $size = getimagesize($src);
  23.        
  24.     if ($size === false)
  25.         return false;
  26.        
  27.           $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
  28.           $icfunc = "imagecreatefrom" . $format;
  29.           if (!function_exists($icfunc)) return false;
  30.        
  31.        
  32.         /// Вот тут надо проработать момент, узнать как было раньше
  33.           if($size[1] > $size[0]){
  34.               $x_ratio = $width / $size[0];
  35.               $y_ratio = $x_ratio;
  36.           }
  37.           else {
  38.               $y_ratio = $height / $size[1];
  39.               $x_ratio = $y_ratio;
  40.           }
  41.          
  42.           $x_ratio = $width / $size[0];
  43.           $y_ratio = $height / $size[1];
  44.          
  45.           $ratio       = min($x_ratio, $y_ratio);
  46.           $use_x_ratio = ($x_ratio == $ratio);
  47.        
  48.           $new_width   = $use_x_ratio  ? $width  : floor($size[0] * $ratio);
  49.           $new_height  = !$use_x_ratio ? $height : floor($size[1] * $ratio);
  50.           $new_left    = $use_x_ratio  ? 0 : floor(($width - $new_width) / 2);
  51.           $new_top     = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);
  52.        
  53.           $isrc = $icfunc($src);
  54.           $idest = imagecreatetruecolor($width, $height);
  55.        
  56.           imagefill($idest, 0, 0, $rgb);
  57.           imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);
  58.        
  59.           return imagejpeg($idest, $dest, $quality);
  60.         }
  61. ?>
  62.  

(Отредактировано автором: 07 Ноября, 2012 - 18:50:52)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Графика в PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB