Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Передача переменных через require_once (PHP)

374
13 августа 2007 года
Pennywise
158 / / 20.05.2000
Ситуация следущая:

есть файлы:

/forum/global.php
/forum/chat/rooms.php

Нужно сделать так что бы переменные rooms.php были доступны в global.php
И соответственно прописываем в global.php:

 
Код:
require_once 'chat/rooms.php';


Вываливается ошибка:

Warnung: main(lang/languages.inc): failed to open stream: No such file or directory in /chat/incl/main.inc (Cell 16)

рассмотр ошибки показал что:

main.inc прописан в rooms.php как

 
Код:
require_once 'incl/main.inc';


А languages.inc прописан в main.inc таким же образом

Насколько я понимаю тут какая то цепочка, которая начинает ломаться при добавления rooms.php в global.php.

Как это можно исправить ?
8
13 августа 2007 года
mfender
3.5K / / 15.06.2005
Цитата:
Как это можно исправить ?


указывать полный путь. Ещё лучше, основные пути обозначить в константах:

 
Код:
define("PHORUM_PATH", "/home/inc/forum");
 
// Подключать файлы, используя константы
 
require_once(PHORUM_PATH ."/chat/rooms.php");
require_once(PHORUM_PATH ."/chat/incl/main.inc");


Также можно внести супер-пупер важные пути в переменную PATH.
239
13 августа 2007 года
Dolonet
1.7K / / 20.05.2000
Если я правильно помню, относительный путь к файлу считается относительно текущей рабочей директории, которой является директория того php файла, к которому обратились. Если мы инклудим файл, где нужен относительный путь, то этот путь будет считаться все-равно от первого вызываемого файла. Это связано с тем, что "инклуды" и "реквайры" действуют по принципу вставки содержимого библиотеки на место объявления соответственно инклуда и реквайра. А значит рабочая директория сохраняется.
374
15 августа 2007 года
Pennywise
158 / / 20.05.2000
Цитата: mfender
указывать полный путь. Ещё лучше, основные пути обозначить в константах:

 
Код:
define("PHORUM_PATH", "/home/inc/forum");
 
// Подключать файлы, используя константы
 
require_once(PHORUM_PATH ."/chat/rooms.php");
require_once(PHORUM_PATH ."/chat/incl/main.inc");


Также можно внести супер-пупер важные пути в переменную PATH.



К сожалению не помогло. Та же самая ошибка

2.0K
16 августа 2007 года
WidowMaker
212 / / 05.04.2005
2Pennywise:
Приведи хоть свое дерево директорий сайта и цепочки инклудов до первого вложения.
239
16 августа 2007 года
Dolonet
1.7K / / 20.05.2000
Если не помогло, то проблема в том, что путь указан неверно. Как крайний случай - неправильно настроенные права доступа.
374
16 августа 2007 года
Pennywise
158 / / 20.05.2000
Цепь инклудов:

global.php->rooms.php->main.inc->languages.inc

Директории:

var/www/html/forum/global.php
var/www/html/forum/chat/rooms.php
var/www/html/forum/chat/incl/main.inc
var/www/html/forum/chat/lang/languages.inc
374
16 августа 2007 года
Pennywise
158 / / 20.05.2000
Цитата: Dolonet
Как крайний случай - неправильно настроенные права доступа.


проверил....везде стоят хмоды 755

2.0K
16 августа 2007 года
WidowMaker
212 / / 05.04.2005
Если исполняемый скрипт - var/www/html/forum/global.php,
то languages.inc надо подключать как chat/lang/languages.inc

ЗЫ: вообще я както для этих целей юзал стек каталогов....
239
16 августа 2007 года
Dolonet
1.7K / / 20.05.2000
А слеш перед первой директорией ставишь?
239
16 августа 2007 года
Dolonet
1.7K / / 20.05.2000
Проблема решается заданием абсолютных каталогов? Если нет, то пробуйте отдебагить проблему через http://ru2.php.net/manual/ru/function.file-exists.php или http://ru2.php.net/manual/ru/function.opendir.php
374
16 августа 2007 года
Pennywise
158 / / 20.05.2000
Цитата: Dolonet
А слеш перед первой директорией ставишь?


да


Цитата: Dolonet
Проблема решается заданием абсолютных каталогов?


тоже пробовал

Цитата: Dolonet

Если нет, то пробуйте отдебагить проблему через http://ru2.php.net/manual/ru/function.file-exists.php или http://ru2.php.net/manual/ru/function.opendir.php


спасибо, гляну....

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог