想象一下:
<?php
include_once('galeria.php');
?>
galeria.php文件是一个完整的html / php文件。 是否可以包含该文件并防止标题再次发送? 我只是不想使用iframe或更改我的包含文件。
答案 0 :(得分:2)
您使用术语“标题”让所有人感到困惑。标头是Web服务器发送的信息,用于告诉浏览器如何处理有效负载。你在谈论HEAD,我怀疑HTML和BODY标签。
任何明智的人都会简单地将文件分成几部分,但由于一些奇怪的原因(你没有告诉我们原因),你说你不希望这样做。在这种情况下,您可以读取galeria.php文件并使用PHP的DOM类方法(首选)或一些REGEX(不太好)来从galeria.php文件中提取主体有效负载。
你能告诉我们为什么你不想明智地设计这个吗?
答案 1 :(得分:1)
<强> include_once 强>
include_once
语句在执行脚本期间包含并评估指定的文件。这是一种类似于include
语句的行为,唯一的区别是如果已经包含文件中的代码,则不会再次包含它。顾名思义,它只包含一次。
<强> Official Document
强>
答案 2 :(得分:1)
标头只发送一次 - 就在第一个字节发送到浏览器之前。可以通过(例如)echo()
,print()
或<?php ?>
部分之外的文字text / html将字节发送到浏览器。
如果包含galeria.php
的文件不需要明确发送任何标题 ,那么您无需担心。
否则 - 如果您的文件包含galeria.php
需要明确发送标题,您可以缓冲galeria.php
的输出,如下所示:
ob_start()
(将所有输出重定向到临时缓冲区),galeria.php
(输出被发送到缓冲区,而不是发送到浏览器。标题还没有发送),header()
,ob_end_flush()
将缓冲区内容发送到浏览器(以及所有默认标题)。 请参阅http://www.php.net/manual/en/function.ob-start.php和http://php.net/manual/en/book.outcontrol.php