Документ Root PHP

Просто для подтверждения, использует:

$_SERVER["DOCUMENT_ROOT"] 

так же, как использование: /

в HTML.

Например. Если текущий документ:

 folder/folder/folder/index.php 

Я мог бы использовать (в HTML) для запуска в роторе:

 /somedoc.html 

и делать то же самое в PHP, мне пришлось бы использовать:

 $_SERVER["DOCUMENT_ROOT"] . "/somedoc.html"; 

Это верно? Есть ли более простой способ сделать это?

  <a href="<?php echo $_SERVER['DOCUMENT_ROOT'].'hello.html'; ?>">go with php</a> <br /> <a href="/hello.html">go to with html</a> 

Попробуйте сами и обнаружите, что они не совсем то же самое.

$ _SERVER ['DOCUMENT_ROOT'] отображает фактический файл PATH (на моем компьютере, запущенном как собственный сервер, c: / wamp / www /

HTML / отображает корень URL-адреса сервера, в моем случае, localhost /

Но c: /wamp/www/hello.html и localhost / hello.html являются фактически одним и тем же файлом

Просто / относится к корню вашего сайта из общедоступной html-папки. DOCUMENT_ROOT относится к локальному пути к папке на сервере, которая содержит ваш сайт.

Например, у меня есть установка EasyPHP на машине …

$_SERVER["DOCUMENT_ROOT"] дает мне file:///C:/Program%20Files%20(x86)/EasyPHP-5.3.9/www но любой файл, с которым я file:///C:/Program%20Files%20(x86)/EasyPHP-5.3.9/www просто / будет относиться к моей папке www .

Если вы хотите указать абсолютный путь к файлу на своем сервере (от корня сервера), вы можете использовать DOCUMENT_ROOT . если вы хотите дать абсолютный путь к файлу из корня вашего веб-сайта, используйте только / .

Самый простой способ сделать это – иметь хорошую структуру сайта и записать его как константу.

 DEFINE("BACK_ROOT","/var/www/");