Использовать файл header.php в разных каталогах

У меня есть веб-страница с этой структурой:

/var/www/html/webpage/
                    |-stands/
                    .      |-header.php
                    .
                    |-images/
                    .      |-picture.png
                    .
                    |-login/
                    .      |-login.php
                    .
                    |-index.php

Я хотел бы использовать стенды/header.php в обоих файлах, login/login.php и index.php. Я включил его в оба файла с помощью

<?php
include("stands/header.php")
?>

или

<?php
include("../stands/header.php")
?>

Это работает нормально, пока header.php не использует графику из папки images/, например images/picture.png.

Я использую картинку следующим образом в header.php:

<img src = "../images/picture.png" alt = "nice pic"/>

Я получаю picture.png в файле login.php, но в index.php я получаю nice pic.

Похоже, если я включу файл header.php, каталог, в котором он ищет картинку, начинается не с каталога header.php, а из каталога, в который он включен (например, из index.php, он ищет во 2-м родительский каталог index.php, который является html/ (из-за ../ и отсутствия папки images/, поэтому я получаю nice pic вместо файла .png.

Мой вопрос сейчас:

Есть ли способ включить глобальную графику, означает, что она всегда (всегда) ищет один и тот же каталог?

Спасибо за любую помощь и извините за мой плохо структурированный вопрос (я не англичанин и не знаю, как спросить это проще)

URL-адрес вашего веб-сайта указывает на папку webpage?

A J 20.07.2019 14:19

@AJ еще нет, но я настрою

lfreist 20.07.2019 14:48

Тогда вы можете попробовать мой ответ и проверить, работает ли он для вас.

A J 20.07.2019 14:48

Просто захотелось обновления. Вам помог это решение?

A J 22.07.2019 08:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
156
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Попробуйте указать абсолютный путь к вашему изображению.

<img src = "<?php echo 'http://'.$_SERVER['HTTP_HOST']; ?>/images/picture.png" alt = "nice pic"/>

Он возьмет текущий URL-адрес и объединит его с путем к изображению.

Ответ принят как подходящий

Изображение из вашего тега img загружается на стороне клиента, поэтому оно не связано с php. Ваш тег изображения src должен быть связан с текущим местоположением посетителя.

Вы можете использовать абсолютный путь, например ответ A J, это было бы решением, но в вашем случае мне кажется, что ваш файл login.php должен находиться в том же каталоге, что и ваш index.php. Если вам это действительно не нужно, я думаю, вам следует попытаться поместить php скрипты, которые будут загружаться напрямую, на корневом уровне вашего сайта, а также включать скрипты и изображения в папки.

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

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