Я только начал изучать PHP и прочитал несколько ответов на довольно похожий вопрос, но это не помогло.
У меня есть несколько файлов:
index.php
folder1\file.php
folder2\file.php
Итак, index.php
включает folder1\file.php
, и это действительно просто. Тогда folder1\file.php
включает folder2\file.php
. Книга, которую я читаю, говорит, что для этого я должен написать это внутри folder1\file.php
:
require $_SERVER['DOCUMENT_ROOT'] . '/' . 'folder2/file.php';
Так в принципе, почему они этого не сделали?
require 'folder2/file.php';
Насколько я понял, все пути всегда относительно местоположения исходного скрипта, и он прекрасно работает на моем компьютере.
Я до сих пор не понимаю, почему бы не использовать .\folder\file.php
, который бы работал, если бы я переместил свой каталог глубже или скопировал весь веб-сайт на другую машину.
Согласно руководству: Если путь определен - абсолютный (начиная с буквы диска или \
в Windows или /
в системах Unix / Linux) или относительно текущего каталога (начиная с .
или ..
) - путь включения будет полностью игнорироваться. Например, если имя файла начинается с ../
, анализатор будет искать в родительском каталоге.