2013-04-27 2 views
0

У меня есть дублеты на структуре моего сайта. У меня есть конфиг, lib и общие папки в корне. config содержит config.php и другие аналогичные файлы, lib содержит все содержимое php/html (заголовок, содержимое каждой страницы, нижний колонтитул и т. д.), а общая папка содержит все подпапки для каждой страницы с индексом index.php. Я сделал это для URL ... В любом случае, каждый из этих index.php задает имя своей страницы в переменной и вызывает файл config.php и module.php для всего содержимого. Моя проблема в том, что, поскольку у меня есть многоуровневый подкаталог (новости/спорт/футбол), у каждого index.php есть другой путь конфигурации для вызова. «Самые глубокие» файлы имеют много «../» перед config/config.php.Как получить доступ к файлу config.php из многоуровневых подкаталогов?

Вот index.php внутри публичные/Новостей /:

<?php 
require '../../config/config.php'; 


$MainPage = 'news'; 
$CurPage = 'news'; 


include_once(LIB_PATH. 'modules.php'); 
?> 

Итак, есть ли способ, чтобы получить абсолютную корневую директорию, так что путь одинаков во всех файлах? Кроме того, эта структура правильная?

+0

Где находится LIB_PATH и какой сервер вы используете? – Cups

+0

LIB_PATH определяется в config.php, а также в других глобальных определениях. Я работаю над этим с EasyPhp на моем компьютере и временно на серверах Altervista. – JohnnyCau

ответ

0

Вы должны иметь возможность называть config.php из любого места, используя абсолютный путь.

include "/config/config.php"; 

Вы не можете этого сделать, так как ini_path PHP не включает ваш каталог.

Попробуйте прочитать this answer о том, где/как добавить каталог в ваш путь к php.ini.

-1
require $_SERVER['DOCUMENT_ROOT'].'/config/config.php'; 
+0

DOCUMENT_ROOT дает мне странный корень. Это потому, что я использую псевдоним с EasyPhp? Также на сервере дает мне странный путь ... – JohnnyCau

 Смежные вопросы

  • Нет связанных вопросов^_^