Проблема с URL-адресом на сервере WAMP

#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 .. /` для доступа к внешней стороне папки