Подтвердить что ты не робот

Документ Root PHP

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

$_SERVER["DOCUMENT_ROOT"]

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

в HTML.

Eg. Если текущий документ:

folder/folder/folder/index.php

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

/somedoc.html

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

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

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

4b9b3361

Ответ 1

 <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 являются фактически одним и тем же файлом

Ответ 2

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

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

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

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

Ответ 3

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

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