#url #include #wamp #relative-path #absolute-path
#url #включить #wamp #относительный путь #абсолютный путь
Вопрос:
Вероятно, у меня путаница с относительными и абсолютными путями…
Допустим, у меня есть файл, который может быть где угодно в моем каталоге. Я хочу использовать PHP include для включения footer.php файл. Этот файл нижнего колонтитула всегда находится в моем корневом каталоге / template.
Итак, я набираю следующее <?php include('./template/footer.php'); ?>
Но, увы, WAMP не может его найти! Что я здесь делаю не так?
Я также пробовал <?php include('../template/footer.php'); ?>
, но это тоже не помогает.
Ответ №1:
Если вы имели в виду, что ‘root’ относится к веб-корню вашего текущего сайта Apache, тогда вы хотели бы использовать:
<?php include($_SERVER['DOCUMENT_ROOT'].'/template/folder.php'); ?>
обратите внимание (для всех, кто еще читает), что DOCUMENT_ROOT не заполнен в (по крайней мере, в более старых версиях) IIS. Но с вами все должно быть в порядке, поскольку вы используете Apache.
Если бы вы вместо этого ссылались на ‘root’ как на корень файловой системы, тогда root / template был бы:
<?php include('/template/folder.php'); ?>
-
./
префикс фрагмента пути ссылается на ваш текущий каталог
(относительно любого файла, который сейчас обрабатывается) (относительный путь). -
../
префикс фрагмента пути ссылается на родительский каталог (относительно любого файла, который сейчас обрабатывается) (относительный путь). -
/
префикс фрагмента пути ссылается на каталог корневой файловой системы (абсолютный путь).
Всегда помните, что включения основаны на файловой системе самого сервера, а не на пути URI обслуживаемого сайта, даже если они могут отражать друг друга при просмотре только относительных путей.
Ответ №2:
я бы посоветовал попробовать использовать только <?php include('template/footer.php'); ?> the
.. /` для доступа к внешней стороне папки