PHP - Как я могу отобразить изображение из другого каталога, не используя абсолютный путь?

Я просто хочу спросить, как я могу отобразить изображение из другого каталога без использования абсолютного пути (потому что это не работает). Давайте возьмем этот пример:

Предположим, что у меня есть папка htdocs, и внутри нее есть папка с именем system, system папка содержит 2 папки и 1 navigations.php файл внутри. Первая папка с именем как images и это хранилище изображений, которые будут использоваться в программе, а вторая папка называется files и он содержит 2 разные папки, phpfiles а также cssfilesтак внутри phpfiles папка у меня есть файл PHP с именем loans.php это будет включать navigations.php (У меня нет проблем с включением файла) в navigations.php У меня есть код, в котором он будет получать некоторые изображения на images папку, но когда я включил его в loans.php изображения в navigations.php не загрузился. Я знаю, что есть проблемы с каталогами, потому что файл loans.php расположенный в подкаталогах system папка. Я пытался использовать абсолютный путь (C:/xampp/htdocs/system/images/image.png) но это не работает, поэтому альтернативу я использовал <base> тег, чтобы использовать его в относительном пути, но все же он не появляется в loans.php потому что он расположен в подкаталогах system папка. Какой лучший способ это исправить?

PS: не берите в голову пример, просто сосредоточьтесь на ситуации:)

-Добавление (проблема решена)

В качестве решения я создал функцию PHP, которая печатает строку в зависимости от количества шагов назад в каталоге для доступа к каталогам из разных подкаталогов.

function numberOfBack($num){ $strback = ""; if ($num == 0){ return $strback; } else { for ($x = 1; $x <= $num; $x++){ $strback.="../"; } return $strback; } }

Чтобы использовать это, возвращаемая строка будет присоединена к источнику изображения или файлу PHP, который я собираюсь получить. Спасибо за подсказки и ответы.

2 ответа

На основании вашего комментария, отвечающего на мой, ваш абсолютный путь должен быть следующим:

http://localhost/system/images/image.png

Я не эксперт по xampp, но я считаю, что он настроен так, чтобы apache отображал этот адрес вместо фактического пути к папке, например c:/htdocs/system/

Если вы только получаете доступ navigations.php с помощью loans.php решение состоит в том, чтобы получить доступ к относительному пути изображения с точки зрения loans.php,

В этом случае, исходя из вашего описания, кажется, что относительный путь будет: ../images/image.png,

Другие вопросы по тегам