php包括';头部';html文档的分区(如果有)

php包括';头部';html文档的分区(如果有),php,html,if-statement,include,Php,Html,If Statement,Include,我有很多页面,大多数都有标题部分,可以“独立”。 而且,它们中的大多数都会被“包含”在“较大”的文档或文章中。 因此,在一个例子中,让我们称之为“大页面”,我可以有3或4个包含页面,所有页面都有自己的标题信息。 是否有一种更奇特的方法可以包含一个包含所有元、样式等的“head.html”,但只包含一次,这样,如果“父级”,比如说index.php已经“包含”了“head.html”,那么specialcharacters.html的包含也不会加载head,但是如果我自己加载specialchar

我有很多页面,大多数都有标题部分,可以“独立”。 而且,它们中的大多数都会被“包含”在“较大”的文档或文章中。 因此,在一个例子中,让我们称之为“大页面”,我可以有3或4个包含页面,所有页面都有自己的标题信息。 是否有一种更奇特的方法可以包含一个包含所有元、样式等的“head.html”,但只包含一次,这样,如果“父级”,比如说index.php已经“包含”了“head.html”,那么specialcharacters.html的包含也不会加载head,但是如果我自己加载specialcharacters.html,它会“包含”head.html

(exp:index.php包括,nav.html,nav_r.html,header(logo,welcome等),footer.html,body01.html,specialcharacters.html等。但是,我想使用specialcharacters.html作为一个独立的文档,并带有头、样式等,用于文档格式化。)

所以,如果。。。因此head.html只包含一次

我希望这是比较清楚的

提前谢谢你, 兰迪斯。
Landisred.com/index.php-head.html

您是否尝试过使用“包含一次”

例如:

include_once "header.php";
include_once()
是您可以使用的,根据PHP文档

include_once语句包含并计算指定的文件 在脚本执行期间。这是一种类似于 include语句,唯一的区别是 如果文件已包含,则不会再次包含该文件。 顾名思义,它只包含一次

这里有更多信息,我想你可以使用

include_once 'header.html';
那么如果它在之前就被收录了,就不会再被收录了

这意味着您必须在每个文件中包含标题信息,因此您的
specialcharacters.html
必须使用它以及
body01.html
。然后,无论哪个
include_once
first,都会出现header.html

编辑:

要区分标题或其他信息,可以在header.html中执行以下操作:

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

现在,无论谁先调用header,都将首先设置$title并将其呈现在header中。一旦将其呈现为标题,任何其他includee对
$title
的后续更改将被您的页面忽略。

如果我答对了问题,我想您需要的是一个标题文件
header.php
,包含在所有带有
require\u的页面中。诀窍是将所有不同类型的头(比如head.html和specialcharacters.html)放入由if语句分隔的
header.php
文件中。
header.php
可能如下所示:

if($caller=='head'){//HTML for head.HTML}
elseif($caller!='head'&&$caller=='specialcharacters')
{//specialcharacters.HTML专用于独立查看的HTML}
一旦这个
header.php
在所有条件就绪的情况下被写入,您需要在每个文件的顶部相应地设置
$caller
(例如对于
specialcharacters.php
第一行代码应该是
$caller='specialcharacters';
。然后将
header.php
作为
需要的内容包含到所有文件中(“header.php”)
仅在指定
$caller
之后。 编辑 您的
index.php
文件如下所示:

$caller='in_my_index';
一次需要_('header.php');
您的
specialcharacters.php
文件如下所示:

$caller=($caller!=“in_my_index”)?“in_my_specialchars”:“in_my_index”;//这是为了确保当specialcharacters.php包含在index.php中时,它仍应显示index.php标题,但在单独加载时,它将显示自己的标题。
一次需要_('header.php');
现在您的
header.php
如下所示:


我希望这会给你一个更好的主意


希望这有帮助!

您可以将$\u SESSION['page\u has\u header']=TRUE设置一次,其他文件/模板只需检查一下(不要忘记顶部的SESSION\u start()),如果设置为TRUE,则忽略标头。“包括\u一次。”"就像那样?我不需要“包含”文档中的代码来“检查”它们?就这样?很简单吗?如果你的所有文件的标题都是相同的,那么你就不需要其他任何东西。如果你使用不同的标题,那么它会更复杂。只要考虑到“路障”,每个p上的元关键字和描述就需要不同年龄..该死的,我想我会了解更多关于if$调用方建议的信息。谢谢!Landis。谢谢!这对我来说很有效。它是否也适用于$关键字和/或$描述?可能仍然需要if$调用方代码,嗯?哇…谢谢。这似乎是我最终想要的,但我需要更多的理解。谢谢,规范顶部有什么ialcharacters.html将其指定为$caller“specialcharacters”或基于“文件名”?欢迎:)。字符串“specialcharacters”可以是您选择的任何内容。没有关于文件名或任何东西的特定信息$调用者是一种标志,当页面加载到浏览器上时,它将决定从header.php执行哪一条
if条件。所以,如果用户正在加载specialcharacters.php,请注意$caller只标记为“specialcharacters”,而不是“head”。因此,在header.php中,只有specialcharacters.php的head部分将被执行。基本上,您在这里使用$caller标志创建代码块来集中各种头HTML。非常感谢您抽出时间。仍然不确定在何处声明“$caller'specialcharacters”。if语句调用时如何知道页面是“specialcharacters”那么,每一个被调用的页面是否都有。。。如果“specialcharaters”是我分配给页面的名称($caller ID),我会得到每个页面上的名称都会不同,例如,“颜色代码”、“代码片段”等等?
$title = 'Whatever';
include_once "header.html";