xampp — Как управлять и структурировать страницы и ссылки в корневой папке сервера (PHP)

Я не использую никаких фреймворков, просто работаю в среде 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

0

Решение

Когда я пишу код на 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>';
0

Другие решения

Это ваша страница 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');
}
?>

У вас есть структура папок, как это

  • страницы
  • разделы
  • index.php

На страницах вы сохраняете home.php, info.php и т. Д.
А в разделах вы сохраняете header.php, footer.php и т. Д.

Чем вы используете образ src из вашего index.php и у вас больше нет проблем.

0

По вопросам рекламы [email protected]