Афанасьев Виталий

личная страничка

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Не работает smartresizer в режиме все изображения

На сайте используется плагин smartresizer. При обработке отдельных картинок все нормально, переключаешь в режим все картинки - не работает.

Изучение журнала ошибок веб-сервера показало, что причина - в некоторых случаях плагин пытается обратиться к картинке по относительному имени (относительно корня сайта). Но речь то идет о файловой системе - и такого файла конечно же не находится.

Для того, чтобы исправить это, необходимо проверить путь к картинке, и при необходимости - добавить путь к корневому каталогу файловой системы сайта. А именно: вместо

  1. list($image_width,$image_height)=getimagesize($src);
 

Пишем

  1. list($image_width,$image_height)=os_getimagesize($src);
  2.  
  3. function os_getimagesize($os_im) {
  4. if (strpos($os_im, $_SERVER['DOCUMENT_ROOT']) === false) {
  5. if (strcmp(substr($os_im, 0, 1), '/') == 0)
  6. return getimagesize($_SERVER['DOCUMENT_ROOT'].$os_im);
  7. else
  8. return getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$os_im);
  9. }
  10. else
  11. return getimagesize($os_im);
  12. }
 

Обновлено 22.10.2017 14:00