Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программируем на PHP - вопросы и ответы.


Приветствую.

Сегодня очередной ответ на php-вопрос.

Привет всем!
Пришлось перетаскивать сайт на новый хостинг.
Сайт сделан в 2003 году, и делал его не я. Насколько я понимаю для построения сайта, использовали движок SCMS, документации по нему нормальной найти не удается.

Сайт, после переезда, начал выдавать ошибку:
Warning: implode(): Bad arguments. in /home/p/perfshru/penobeton/public_html/index.php on line 104

В index.php строка 104 следующая:
102 */
103 if ($data[page_type]==0){
104 $content=unserialize(implode("",@file($config[pages_path] . "/" . $filename . ".html")));
105
106 }
107 else{
108 /*

До этого в файле config.inc.php сделал правки:

На старом хостинге был следующий путь прописан:
$config[pages_path]="/home/webadmin/penobeton.ru/html/scms/pages";

Для нового хостинга прописал новый путь:
$config[pages_path]="/home/p/perfshru/penobeton/public_html/scms/pages";

Что за ошибка, почему перестало работать?
Возможно ли, это исправить?



Каким образом получается значение переменной $filename ?
Подозреваю, что типа так http://<site>/index.php?filename=<filename>, т.е. методом GET.
Возможно, на старом сервере в php.ini опция register_globals была on (включена), тогда. чтобы обратиться к данной переменной никаких дополнительных действий предпринимать не надо.
Начиная с версии 4.2.0 по умолчанию register_globals = off и теперь, чтобы обратиться к переменной надо использовать суперглобальные массивы _GET, _POST, HTTP_SERVER_VARS (этот - не рекомендуется).
Если ситуация подобна той, что я описал, в начале скрипта пропиши:
$filename = $_GET['filename'];



Источник

На этом всё. Удачного php-программирования.

-=-=-=-=-
Задать php вопрос

В избранное