1

私はたくさんのページを持っています、ほとんどすべてがヘッドセクションを持っていて、「スタンドアロン」することができます。また、それらのほとんどは、「より大きな」ドキュメントまたは記事に「含まれる」ようになります。したがって、では、それを「ビッグページ」と呼びましょう。3つまたは4つのページを含めることができ、すべてに独自の頭の情報があります。すべてのメタ、スタイルなどを含む「head.html」を含めるためのより優れた方法はありますか?ただし、「親」の場合、index.phpにすでに「含まれている」「head.html」が含まれているとしましょう。たとえば、specialcharacters.htmlはヘッドもロードしませんが、specialcharacters.htmlを単独でロードする場合は、「head.html」が含まれますか????

(exp:index.php include、nav.html、nav_r.html、header(logo、welcomeなど)、footer.html、body01.html、specialcharacters.htmlなど。しかし、specialcharacters.htmlをとして使用したいドキュメントフォーマット用のヘッド、スタイルなどを備えたスタンドアロンドキュメントもあります。)

したがって、ある種のインクルードif ...したがって、head.htmlは1回だけインクルードされます。

それが比較的明確であることを願っています。

よろしくお願いします、ランディス。landisreed dot com / index.php --head.html

4

4 に答える 4

2

使えると思います

include_once 'header.html';

その後、以前に含まれていた場合、再度含まれることはありません。

これは、すべてのファイルにヘッダー情報を含める必要があるため、 。specialcharacters.htmlと同様にそれを使用する必要があることを示していますbody01.html。次に、どちらかinclude_once最初に、header.htmlが表示されます。

編集:

タイトルやその他の情報を区別するには、header.htmlで次のように実行できます。

<title><?=$title;?></title>

そして、すべてのスクリプトで

$title = 'Whatever';
include_once "header.html";

これで、最初にヘッダーを呼び出す人は誰でも、最初に$ titleを設定し、それをヘッダーにレンダリングします。ヘッダーにレンダリングされると$title、他のインクルードによるその後の変更は、ページによって単に無視されます。

于 2012-05-31T06:13:46.937 に答える
1

'include_once'を使用してみましたか? http://www.php.net/manual/en/function.include-once.php

例:

include_once "header.php";
于 2012-05-31T06:13:02.710 に答える
0

include_once()PHPのドキュメントによると、使用できるものです

include_onceステートメントは、スクリプトの実行中に指定されたファイルをインクルードして評価します。これはincludeステートメントと同様の動作ですが、唯一の違いは、ファイルのコードがすでにインクルードされている場合、再びインクルードされないことです。名前が示すように、それは一度だけ含まれます。

詳細はこちらhttp://in3.php.net/include_once

于 2012-05-31T06:13:16.563 に答える
0

header.php質問が正しければ、必要なのは、すべてのページに含まれる単一のヘッダーファイルだと思いますrequire_once。秘訣は、head.html用とspecialcharacters.html用など、さまざまな種類のヘッドをすべてheader.phpifステートメントで区切ってファイルに入れることです。このheader.phpように見えるかもしれません:

 if ($caller == 'head') { // HTML for head.html}
 elseif($caller != 'head' && $caller ==  'specialcharacters') 
     { // HTML specific to specialcharacters.html  for standalone viewing}

すべての条件を設定してこれheader.phpを記述したら、それに応じて各ファイルの先頭に設定する必要があり$callerます(たとえばspecialcharacters.php、コードの最初の行を指定する必要があります$caller = 'specialcharacters';。次に、指定した直後header.phpにすべてのファイルにインクルードします 。編集 ファイルは次のようになります。 require_once("header.php")$callerindex.php

$caller = 'in_my_index';
require_once('header.php');

ファイルspecialcharacters.phpは次のようになります。

$caller = ($caller != 'in_my_index')?'in_my_specialchars':'in_my_index'; // This is to make sure that when specialcharacters.php is included inside index.php then it should still show index.php title but when loaded standalone, it will show its own title.
require_once('header.php');

今あなたheader.phpはこのように見えます:

 <html><head>
 <?PHP    if($caller == 'in_my_index') { echo '<title>I am Index Title</title>';} 
          elseif($caller == 'in_my_specialchars') { echo '<title>I am standalone Specialcharacters.php Title</title>';}
 ?>

これは私が望むより良いアイデアを与えるはずです。

お役に立てれば!

于 2012-05-31T06:21:43.710 に答える