私は友人のために比較的シンプルなサイトをデザインしています。私は、すべてのファイルをさかのぼらずにヘッダー/フッターを変更できるように、phpを暗示したいと思います。問題は、私はphpがどのように機能するかについてまったくまったく知らないということです。これを行う簡単な方法はありますか? phpヘッダーを作成する方法についていくつかの回答を見ましたが、それらはすべて異なっているようで、あまり成功していません。私は彼らが機能しないと言っているわけではありません(おそらく間違っていました)が、この場合は単純であるほど良いです。
ありがとう!
ヘッダーとフッターを含めるために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>
元の質問の範囲を少し超えているかもしれませんが、includeを使用してもう少し柔軟性を持たせると便利です。
Header.phpファイルを作成するだけで、それを使用したい場所で実行します。
<?php
include('header.php');
?>
フッターも同じです。 htmlがある場合、これらのファイルにphpタグは必要ありません。
インクルードの詳細については、こちらをご覧ください。
これを行うには、PHPでinclude_once()
関数を使用します。 header.php
という名前のヘッダー部分を作成し、footer.php
によってフッター部分を作成します。最後に、すべてのコンテンツを1つのファイルに含めます。
例えば:
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")
これをヘッダーに使用できます:Important:[〜#〜] php [ 〜#〜]コンテンツを含めたいページ。
<?php
//at top:
require('header.php');
?>
<?php
// at bottom:
require('footer.php');
?>
代わりにこれを使用するだけでnavbarグローバルを含めることもできます。
<?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
?>
シンプルであるほど良い。
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>
txt
フォルダーにpage
。htm形式で保存されている実際の静的htmlページ