Context
Допустим, у меня есть следующий контекст каталога:
.
├── index.php
├── other.php
├── nav.php
└── subfolder
└── foo.php
Мой nav.php содержит простой элемент навигации для каждой страницы моего сайта, например
<nav>
<ul>
<li><a href="index.php">Main</a></li>
<li><a href="other.php">Another</a></li>
</ul>
</nav>
Проблема
Теперь, поскольку мой php-файл nav предназначен для универсальности, я хочу иметь возможность использовать его в php-файле, который находится в подпапках моего сайта, например, foo.php.Проблема в том, что включение nav.php в foo.php не даст мне исключительного результата, так как код php просто копируется и вставляется в foo, ссылки на ссылки являются относительными, сервер не найдет файлы index.php иДругоеличная папка с символической ссылкой от фактического корневого каталога на папку студента.Поэтому, если я пытаюсь получить реальный абсолютный путь, сервер пытается получить к нему доступ с помощью символической ссылки и не понимает его.
Я пытался использовать другой подход, вычисляя базу веб-сайта.url (из любой папки), а затем явно запрашивает абсолютную ссылку с синтаксисом двойной косой черты ('//' + base + 'index.php').Проблема этого подхода, хотя он и работает, состоит в том, чтобы каждый php-файл определял глобальную переменную, хранящую этот базовый URL, или имел один php-файл с таким большим определением и включал его в любой php-файл.
Я нахожу последнее решение довольно грязным, хакерским и ненадежным ни при каких обстоятельствах.Поэтому я спрашиваю, есть ли php-нативный способ сделать это (то есть обработать относительный путь при включении файлов).