web-dev-qa-db-ja.com

PHPヘッダー/フッターの作成

私は友人のために比較的シンプルなサイトをデザインしています。私は、すべてのファイルをさかのぼらずにヘッダー/フッターを変更できるように、phpを暗示したいと思います。問題は、私はphpがどのように機能するかについてまったくまったく知らないということです。これを行う簡単な方法はありますか? phpヘッダーを作成する方法についていくつかの回答を見ましたが、それらはすべて異なっているようで、あまり成功していません。私は彼らが機能しないと言っているわけではありません(おそらく間違っていました)が、この場合は単純であるほど良いです。

ありがとう!

16
rjwctm21

ヘッダーとフッターを含めるために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を使用してもう少し柔軟性を持たせると便利です。

37
William

Header.phpファイルを作成するだけで、それを使用したい場所で実行します。

<?php
include('header.php');
?>

フッターも同じです。 htmlがある場合、これらのファイルにphpタグは必要ありません。

インクルードの詳細については、こちらをご覧ください。

http://php.net/manual/en/function.include.php

16
Ben

これを行うには、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") 
3
Mohan Shanmugam

これをヘッダーに使用できます: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

?>

メリット:

  • よりクリーンなメインphpファイル(index.php)スクリプト。
  • ヘッダーまたはフッターを変更します。などを含むすべてのページで変更する-すべてのページなどのアラートに適しています...
  • 時間の節約!
  • より高速なページ読み込み!
  • 必要な数のファイルを含めることができます!
  • サーバー側!
2
user8803833

シンプルであるほど良い。

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ページ

1