Я не использую никаких фреймворков, просто работаю в среде XAMPP.
Как и все, у меня также есть индексный файл index.php, и самое главное, я хочу добавить один и тот же заголовок ко всем моим страницам.
На моей странице index.php я добавляю свой заголовок как
<?php include 'html/headers/header.html'; ?>
и на моей странице page.php, которая находится внутри информационной папки в корневой папке, например c: / xampp / htdocs / website / info
<?php include '../html/headers/header.html'; ?>
Все работает нормально, но проблема возникает, когда путь к изображениям внутри заголовка остается тем же, то есть путь к изображению работает хорошо для файла index.php, но не для файла page.php, причина, которую вы уже знаете.
Я старался $_SERVER['DOCUMENT_ROOT']."/website/images/logo.png".
Это не сработало, и я не хочу использовать эту технику, так как в верхнем колонтитуле может быть много изображений и т.д.
Я также не хочу использовать какие-либо рамки или хранилище CDN.
Это может быть легко решено. Дайте мне знать, если я что-то пропустил. Thanx
Когда я пишу код на PHP, в начале каждого из моих PHP-файлов обычно бывают две переменные.
// Use for file on the server, eg includes
$file_path = "../";
// For files relative to my page path, eg images, links
$link_path = "../../";
Я меняю каждый из них в зависимости от местоположения файла.
Затем я добавляю любые включения с $file_path
и вещи на странице (например, изображения, гиперссылки) с $link_path
,
echo '<img src="' . $link_path . 'images/myimage.png" />';
include ($file_path . "html/headers/header.html");
Вот как я это делаю в любом случае …
Установите переменные в верхней части каждой новой страницы, которую вы создаете, и их на вашей странице и любых включениях.
// New file
$file_path = "../";
$link_path = "../../";
include($file_path . "html/headers/header.html");
Затем в файле header.html и на странице вы должны перейти:
echo '<img src="' . $link_path . 'website/images/logo.png" />';
Если вы хотите ссылку, вы должны пойти:
echo '<a href="' . $link_path . 'website/page.html'>My Link</a>';
Это ваша страница index.php
<?php
if(isset($_GET['page'])) {
$dir = 'page/' . $_GET['page']. '.php';
if(file_exists($dir)) {
include_once($dir);
} else {
include_once('page/404.php');
}
} else {
include_once('page/home.php');
}
?>
У вас есть структура папок, как это
На страницах вы сохраняете home.php, info.php и т. Д.
А в разделах вы сохраняете header.php, footer.php и т. Д.
Чем вы используете образ src из вашего index.php и у вас больше нет проблем.