PHP включает предотвращение необходимости отслеживать каталог - PullRequest
1 голос
/ 22 марта 2012

Некоторое время я использовал этот способ для своего сайта, но теперь мне становится все больше и больше, чтобы продолжать делать то же, что и в прошлом. Я полностью переписываю его, поэтому хочу сразу решить эту проблему.

У меня есть файл с именем "includes.php" в корне каталога, и мне нужно включать его на каждой отдельной странице, потому что этот файл содержит такие вещи, как страница php для функции, соединение с базой данных и все, что мне может понадобиться

прямо сейчас, если у меня есть каталог как таковой: ajax / load / comment.php

на comment.php Вверху страницы мне нужно будет:

<?php
     include("../../includes.php");
?>

Должно быть что-то, что я могу использовать, чтобы оно всегда обращалось к корню при поиске файлов.

Ответы [ 3 ]

2 голосов
/ 22 марта 2012

Это должно сработать: (независимо от глубины пути)

<?php
    include $_SERVER['DOCUMENT_ROOT'].'/includes.php';
?>
1 голос
/ 22 марта 2012

Вы также можете использовать абсолютные пути.Например:

include ('C:/Work/Webroot/store/lib/includes.php');

Еще лучше было бы определить базовую папку в вашем конфигурационном файле и затем использовать ее.

define('SITE_ROOT', 'C:/Work/Webroot/store/')

и в ваших файлах php

include(SITE_ROOT.'lib/includes.php');
0 голосов
/ 23 марта 2012

Вам лучше использовать центральную точку, куда вы включаете все необходимые файлы.

В какой-то момент в вашем проекте он становится действительно грязным, и вам нужно подумать обо всех возможностях, когда вы включили этот файл.

Автозагрузчик помогает справиться с этими проблемами в более крупных проектах.Сам PHP поставляет некоторые базовые процедуры автозагрузки .

...