|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
||||||||||||||||
Проблема с расположением файлов относительно index.php28.12.2019, 18:27. Показов 2563. Ответов 6
Метки нет (Все метки)
Доброго времени суток!
В гугле и в том числе в постах на киберфоруме одним из вариантов подключения одинаковых блоков html-кода на нескольких html-страницах предлагалось посредством php. Я перекинул весь html код в index.php, а блоки, которые будут повторятся вынес в соответствующие php-файлы. файл index.php
файл header.php
Мне нужно было сделать файл About.php (и ещё несколько других):
Вопрос: как решить данную проблему? p.s.: расположение файлов на localhost'e: index.php header.php footer.php <папка images> .........logo.png <папка home> .........About.php
0
|
||||||||||||||||
| 28.12.2019, 18:27 | |
|
Ответы с готовыми решениями:
6
проблема с файлами index.php и include.php Проблема с отображением кода в index.php Index php исходного кода, от папки index php которая в корне отличаются |
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
||||||||||||||||
| 28.12.2019, 19:37 | ||||||||||||||||
Сообщение было отмечено Wolver как решение
Решение
1. В общих блоках, а лучше везде используете абсолютные адреса (явно или при помощи тега base).
2. При подключении блоков используете абсолютные пути, но получаете их при помощи магической константы __DIR__ в "точках подключения". Добавлено через 7 минут Пример:
1
|
||||||||||||||||
|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
|
| 28.12.2019, 19:57 [ТС] | |
|
п.1 неприемлем, т.к. мне хочется структурированное расположение файлов.
Касательно п.2 - вы уверены, что использование _DIR_ поможет решить проблему с путём к logo.png в src тега img? Повторюсь, include блоков проходит прекрасно и в index.php и в about.php и визуально правильно отображаются. Проблема лишь в том, что в about.php не грузится картинка из <img>, которая находится в include'нном header.php. Потому что путь там указан относительно index.php, а не about.php
0
|
|
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
|
| 28.12.2019, 20:22 | |
|
П.1 - это норма для адресов внутри общих блоков. И чем это мешает "структурированному расположению файлов"? Я вам даже показал универсальный вариант, позволяющий одновременно использовать несколько тем оформления на сайте. В реальности обычно хватает
href="/public/css/poole.css".П.2 никак не связан с "logo.png в src тега img". Не путайте адреса и пути к файлам на сервере ![]() Ваш about.php меня не сильно интересует. В современных сайтах обычно используется единая точка входа. Ну, а вы можете подключать в about.php единый общий шаблон или шаблон специально для этой страницы. Причем делается это при помощи той же __DIR__. Если нужно сослаться на файл через надкаталог, используйте dirname(__DIR__) (можно многократно или за счет дополнительного параметра этой функции) или "/../" (тоже можно многократно). Вы спросили, как это делается. Я вам ответил. Если не нравится, можете изобретать свой велосипед
0
|
|
|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
||
| 28.12.2019, 20:48 [ТС] | ||
|
Пока никак не комментирую, попробую в коде - отпишусь. На данную секунду, спс за ответ.
0
|
||
|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
|||||||||||
| 31.12.2019, 01:47 [ТС] | |||||||||||
|
Всё, я разобрался.
По поводу магич. константы _DIR_ (а точнее dirname(__DIR__)) - это вообще бредятина, ну точнее оно работает и без неё и с ней. Не в этом дело. Я же писал, что у меня все блоки подключились на 100%, проблема лишь в img. Однако, estic , приведенный вами код, меня натолкнул на мысль, чему я безмерно вам благодарен!) php-скрипты, пока не завершат работу, - живы, а значит объявленная до формирования html-разметки php-переменная будет жива и доступна при include (или require) html-блока. файл About.php
0
|
|||||||||||
|
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,882
|
|||
| 31.12.2019, 14:00 | |||
Вам может показаться, что это одно и то же. Но это не совсем так. Поверьте ![]() Еще в качестве единой точки отсчета можете использовать $_SERVER['DOCUMENT_ROOT']. Для сайтов с множеством точек входа это позволит полностью отказаться от использования каких-либо относительных путей. Насчет адресов то же самое. Написал же: используйте абсолютные адреса в общих блоках. Это универсальный способ для страниц с любым уровнем вложенности адресов. А с относительными адресами в общих блоках все страницы на других уровнях будут иметь некорректные ссылки. Даже если у вас сейчас таких страниц нет, все равно лучше делать так, как я написал. А если у вас общие блоки используются еще и в страницах ошибок, например 404, то считайте, что страницы на разных уровнях у вас есть, даже если их нет ![]() Добавлено через 10 минуты Только не используйте $_SERVER['DOCUMENT_ROOT'] непосредственно в шаблонах. В шаблонах используйте __DIR__ (для подключения общих блоков), а для подключения шаблонов можете использовать $_SERVER['DOCUMENT_ROOT'].
1
|
|||
| 31.12.2019, 14:00 | |
|
Помогаю со студенческими работами здесь
7
mod_rewrite: все на index.php без www и index.php Вывод файлов из директории с параметром типа index.php?id=number
index.html на index.aspx (index.php...) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|