Как ПРАВИЛЬНО( по-УМНОМУ) инклудить.

Печать RSS
83

К
Автор
Землянин
0
Во общем спрашиваю это, так как получаются разные ситуации.
А проблема вся в разных серверах где стоит скрипт.
Как правильно делать include для php файлов.
К примеру есть:
index.php в него нужно инклудить /config/conf.php
В сам конфиг инклуд к примеру /dat/image.php
---------------------------------------------------
Как правильно инклудить, раньше юзал относительные пути типа include 'config/conf.php';
Прочитал что лучше указывать полный путь.
Использую такую штуку:
Тоесть если нужно инклудить в /config/conf.php
файл /dat/image.php сначала определим корень, вырежем папку
\config.php и будем делать инклуд
define('DIR', str_replace('\\', '/', str_replace('\config', '', realpath(dirname (__FILE__))) . '/'));
include DIR . 'dat/image.php';
На денвере работает на ура, закинул на VDS там не работает, посмотрел что выдает realpath(dirname (__FILE__)) там слеши в обратную сторону поэтому не вырезает \config
---------------------------
Вопрос состоит в том, что: Как правильно(Универсально для всех хостов) определять корень, и Правильно инклудить, и инклудить файлы находящиеся в разных папках?
Изменил: Константин (26.01.2011 / 22:29)
В

Чатланин
0
Ну я обычно так делаю. В одном скрипте, который везде инклудится в самом начале, определяю константу define('D',$_SERVER['DOCUMENT_ROOT']);
Этот файл инклудю просто include_once 'start.php';
либо, если в папке include_once '../start.php';

А все остальные инклуды делаю через полный путь.
include_once D.'/inc/some_file.php';
К
Автор
Землянин
0
$_SERVER['DOCUMENT_ROOT'], не использую, так как слышал не на всех хостах жпнная штука разрешена=)

2000 лет д.н.э.
0
3, это где это ты такое слышал? паранойя у хостера походу..
тоже документ рут юзаю, ни когда не было проблем
К
Автор
Землянин
0
Сделал, почти как valerik, но по своему, и без document_root.
Всем спасибо за внимание.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск