1

我有很多页面,大多数都有头部部分并且可以“独立”。此外,它们中的大多数都被“包含”在“更大”的文档或文章中。所以,在一个,让我们称之为“大页面”,我可以有 3 或 4 个包含的页面,所有页面都有自己的头部信息。有没有一种更好的方法来包含一个包含所有元数据、样式等的“head.html”,但只有一次,这样如果“父级”,可以说 index.php 已经“包含”“head.html”包含比如说,specialcharacters.html 也不会加载 head,但如果我自己加载 specialcharacters.html,它会“包含”“head.html”????

(exp:index.php 包括、nav.html、nav_r.html、页眉(徽标、欢迎等)、footer.html、body01.html、specialcharacters.html 等。但是,我想使用 specialcharacters.html 作为带有头部,样式等的独立文档,用于文档格式。)

所以,某种包含 if... 所以 head.html 只包含一次。

我希望这比较清楚..

提前谢谢你,兰迪斯。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";

现在,首先调用 header 的人将首先设置 $title 并将其呈现到 header 中。一旦它呈现到标题中,$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.php由 if 语句分隔的文件中。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 回答