Изменить относительные пути ссылок для включенного контента в PHP

У меня есть файл PHP в корневом каталоге моего сервера .. index.php .. который include.. DIR / main.php

Теперь .. DIR / main.php .. имеет относительные ссылки на многие близлежащие файлы.

Все относительные ссылки не работают.


В любом случае я могу изменить базовый путь относительного URL для ссылок?

... поэтому во включенном содержимом DIR / main.php все ссылки на friend1.php изменены на DIR / friend1.php .


Изменить: это НЕ о включении, это о массовом изменении ссылок ahref.

Ответов (3)

Решение

База тегов в HTML работает для относительных ссылок. См. Пример использования w3schools .

Картина не слишком ясна, но вы, вероятно, можете переставить несколько файлов и использовать символические ссылки для решения проблемы.

В вашем примере вы можете создать символическую ссылку DIR / friend1.php, которая указывает на /friend1.php, но вам придется сделать это для всех ваших файлов или просто переместить их.

Предполагая, что main.php представляет собой смесь HTML и PHP, тогда, когда вы выводите ссылку, вам нужно будет включить префикс:

<a href="<?php echo $web_root; ?>relative/path/">relative link</a>

Где $ web_root - ваш корневой путь (DIR). Вероятно, неплохо было бы определить его в отдельном включаемом файле, чтобы вам нужно было определить его только один раз для всех ваших скриптов.