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
,