[EVO] [Решено] phpthumb и ereg_replace :(

Бьюсь с этим сниппетом, проблема
Function eregi() is deprecated
каких только версий и как только не пробовал ставить,
Пробовал заменять проблемный файл phpthumb.functions.php на аналогичный отсюда phpthumb.sourceforge.net/#download — тоже какие-то глюки… Кажется, создаёт файл jpg в папке кэша, но не ресайзит.
Пробовал переносить файлы из сборки Дмитрия — фото noimage.png выводится, а если в tv-параметре есть изображение, то страница не грузится. Как его всё-таки установить…

6 комментариев

avatar
Небольшое гугление на тему
Function eregi() is deprecated

Дает вполне внятный ответ: заменить eregi() на preg_match()
avatar
Спасибо, я явно не то гуглил. Но проблему бы это всё-равно не решило. Я там кое-где описался и если бы не решил переписать всё с нуля на чистом листе, не нашёл бы в чём косяк.
Ещё раз спасибо.
avatar
Кое-где, это где? Вы весь phpthumb переписали? И можно решение в студию?
Комментарий отредактирован 2013-01-25 22:26:20 пользователем Agel_Nash
avatar
Кое-где это здесь [!MultiPhotos? &tvname=`photos` &rowTpl=`rowMultiPhotos`!] &row= вместо &rowTpl=. Я имел ввиду установить phpthumb, а не переписать.
Т.к. &rowTpl был указан не корректно, MultiPhotos подсовывал стандартный шаблон, отличающийся отсутствием [+link:phpthumb=`w=500&h=500`+]. Соответсвенно обработки фото небыло. Я начал ковырять phpthumb, естественно ничего не происходило. Далее я таки додумался вынести в отдельный чанк [+test:phpthumb=`w=500&h=500`+] и получил описанные выше глюки. Потом я таки снёс всё, что связано с phpthumb и заново закинул файлы на хостинг, скопировал сниппет и т.д. Это я и имел ввиду под «переписал заново». Согласен, выразился не правильно, извиняюсь.
Всё и заработало.
Комментарий отредактирован 2013-01-26 12:38:08 пользователем MisterN
avatar
в конфиге коментируюем 1 сроку раскоментируем другую и нет пробелм
в своей сборка давно так поступил уже)

$PHPTHUMB_CONFIG['document_root'] = realpath((@$_SERVER['DOCUMENT_ROOT'] && file_exists(@$_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF'])) ? $_SERVER['DOCUMENT_ROOT'] : str_replace(dirname(@$_SERVER['PHP_SELF']), '', str_replace(DIRECTORY_SEPARATOR, '/', realpath('.'))));
//$PHPTHUMB_CONFIG['document_root'] = realpath((getenv('DOCUMENT_ROOT') && ereg('^'.preg_quote(realpath(getenv('DOCUMENT_ROOT'))), realpath(__FILE__))) ? getenv('DOCUMENT_ROOT') : str_replace(dirname(@$_SERVER['PHP_SELF']), '', str_replace(DIRECTORY_SEPARATOR, '/', dirname(__FILE__))));

avatar
Спасибо за помощь. Вроде справился, как нашёл опечатку см. ответ Agel_Nash
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.