Создание заголовка/нижнего колонтитула PHP
Я разрабатываю относительно простой сайт для друга. Я хотел бы внедрить php, чтобы он мог изменять свой верхний/нижний колонтитул без необходимости возвращаться через каждый файл. Проблема в том, что я почти полностью не знаком с тем, как работает php. Есть ли упрощенный способ сделать это? Я видел несколько ответов о том, как создать php-заголовок, но все они кажутся разными, и у меня не было большого успеха. Я не говорю, что они не работают (я, вероятно, сделал это неправильно), но чем проще в этом случае, тем лучше.
Спасибо!
Ответы
Ответ 1
Помимо использования include()
или include_once()
для включения верхнего и нижнего колонтитула, одна вещь, которую я нашел полезной, заключается в том, что для каждой страницы может быть настроен собственный заголовок страницы или пользовательские теги заголовка, но все же есть заголовок в частичном включении. Обычно я выполняю это следующим образом:
На страницах сайта:
<?php
$PageTitle="New Page Title";
function customPageHeader(){?>
<!--Arbitrary HTML Tags-->
<?php }
include_once('header.php');
//body contents go here
include_once('footer.php');
?>
И в файле header.php:
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title><?= isset($PageTitle) ? $PageTitle : "Default Title"?></title>
<!-- Additional tags here -->
<?php if (function_exists('customPageHeader')){
customPageHeader();
}?>
</head>
<body>
Возможно, немного выходит за рамки вашего первоначального вопроса, но полезно включить немного большей гибкости при включении.
Ответ 2
Просто создайте файл header.php и где вы хотите его использовать:
<?php
include('header.php');
?>
То же самое с нижним колонтитулом. Вам не нужны теги php в этих файлах, если у вас есть только html.
Подробнее о включении здесь:
http://php.net/manual/en/function.include.php
Ответ 3
Вы можете сделать это, используя функцию include_once()
в php. Постройте часть заголовка в имени header.php
и создайте нижнюю часть с помощью footer.php
. Наконец, включите все содержимое в один файл.
Например:
header.php
<html>
<title>
<link href="sample.css">
footer.php
</html>
Итак, финальные файлы выглядят как
include_once("header.php")
body content(The body content changes based on the file dynamically)
include_once("footer.php")
Ответ 4
чем проще, тем лучше.
index.php
<?
if (empty($_SERVER['QUERY_STRING'])) {
$name="index";
} else {
$name=basename($_SERVER['QUERY_STRING']);
}
$file="txt/".$name.".htm";
if (is_readable($file)) {
include 'header.php';
readfile($file);
} else {
header("HTTP/1.0 404 Not Found");
exit;
}
?>
header.php
<a href="index.php">Main page</a><br>
<a href=?about>About</a><br>
<a href=?links>Links</a><br>
<br><br>
фактические статические html-страницы, хранящиеся в папке txt
в формате page
.htm
Ответ 5
Вы можете использовать это для заголовка:
Важно: Поместите на страницы PHP следующее, на которое вы хотите включить контент.
<?php
//at top:
require('header.php');
?>
<?php
// at bottom:
require('footer.php');
?>
Вы также можете включить глобальный навигатор, просто используйте это вместо:
<?php
// At top:
require('header.php');
?>
<?php
// At bottom:
require('footer.php');
?>
<?php
//Wherever navbar goes:
require('navbar.php');
?>
В header.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
</head>
<body>
Не закрывайте теги Body или Html!
Включить html здесь:
<?php
//Or more global php here:
?>
footer.php:
Код здесь:
<?php
//code
?>
Navbar.php:
<p> Include html code here</p>
<?php
//Include Navbar PHP code here
?>
ПРЕИМУЩЕСТВА:
- Чистый основной файл php (index.php) script.
- Изменить верхний или нижний колонтитул. и т.д., чтобы изменить его на всех страницах с помощью include-Good для предупреждений на всех страницах и т.д.
- Экономия времени
- Более быстрая загрузка страницы!
- у вас может быть столько файлов, сколько необходимо!
- сервер односторонний!