Php 是否可以防止邮件头再次发送?

Php 是否可以防止邮件头再次发送?,php,iframe,header,include,Php,Iframe,Header,Include,想象一下: <?php include_once('galeria.php'); ?> galeria.php文件是一个完整的html/php文件。 是否可以包含该文件并防止再次发送头? 我只是不想使用iframe或更改我的include文件。一次include\u include\u once语句在脚本执行期间包括并计算指定的文件。这是一种类似于include语句的行为,唯一的区别是如果文件中的代码已经被包含,则不会再次被包含。顾名思义,它只会被包含一次 包括一次 inclu

想象一下:

<?php
include_once('galeria.php');
?>

galeria.php文件是一个完整的html/php文件。 是否可以包含该文件并防止再次发送头?
我只是不想使用iframe或更改我的include文件。

一次include\u

include\u once
语句在脚本执行期间包括并计算指定的文件。这是一种类似于
include
语句的行为,唯一的区别是如果文件中的代码已经被包含,则不会再次被包含。顾名思义,它只会被包含一次


包括一次

include\u once
语句在脚本执行期间包括并计算指定的文件。这是一种类似于
include
语句的行为,唯一的区别是如果文件中的代码已经被包含,则不会再次被包含。顾名思义,它只会被包含一次


头只发送一次-就在第一个字节发送到浏览器之前。字节可以通过(例如)
echo()
print()
,或通过
部分之外的文本/html发送到浏览器

如果包含
galeria.php
的文件不需要明确地发送任何标题,那么您就不必担心

否则-如果包含
galeria.php
的文件需要明确发送标题,则可以按如下方式缓冲
galeria.php
的输出:

  • 首先,调用
    ob_start()
    (将所有输出重定向到临时缓冲区)
  • 然后包括
    galeria.php
    (输出被发送到缓冲区,而不是浏览器。标题尚未发送)
  • 然后根据需要通过
    header()
    发送标题
  • 调用
    ob\u end\u flush()
    

请参阅和

标题仅发送一次-就在第一个字节发送到浏览器之前。字节可以通过(例如)
echo()
print()
,或通过
部分之外的文本/html发送到浏览器

如果包含
galeria.php
的文件不需要明确地发送任何标题,那么您就不必担心

否则-如果包含
galeria.php
的文件需要明确发送标题,则可以按如下方式缓冲
galeria.php
的输出:

  • 首先,调用
    ob_start()
    (将所有输出重定向到临时缓冲区)
  • 然后包括
    galeria.php
    (输出被发送到缓冲区,而不是浏览器。标题尚未发送)
  • 然后根据需要通过
    header()
    发送标题
  • 调用
    ob\u end\u flush()
    

请参见和

您使用了“标题”一词,使每个人都感到困惑。标题是web服务器发送的内容,用于告诉浏览器如何处理有效负载。你说的是头部,我怀疑是HTML和BODY标签

任何明智的人都会简单地将文件分成几个部分,但出于某种奇怪的原因(您没有告诉我们原因),您声明不希望这样做。在这种情况下,您可以读取galeria.php文件,并使用php的DOM类方法(首选)或一些正则表达式(不太好)从galeria.php文件中提取正文负载


你能告诉我们为什么你不想明智地设计它吗?

你用“标题”这个词把每个人都搞糊涂了。标题是web服务器发送的内容,用于告诉浏览器如何处理有效负载。你说的是头部,我怀疑是HTML和BODY标签

任何明智的人都会简单地将文件分成几个部分,但出于某种奇怪的原因(您没有告诉我们原因),您声明不希望这样做。在这种情况下,您可以读取galeria.php文件,并使用php的DOM类方法(首选)或一些正则表达式(不太好)从galeria.php文件中提取正文负载


你能告诉我们为什么你不想明智地设计它吗?

这将自行完成..galleria.php的head部分将再次加载,对吗?这将自行完成..galleria.php的head部分将再次加载,对吗?但是主文件已经加载了自己的head部分,galleria.php文件有另一个head部分,将加载include_once('galleria.php'),但主文件已经加载了自己的head部分,galleria.php文件有另一个head部分,将加载include_once('galleria.php')抱歉搞混了:-)给manny的文件和我要包含的文件提供了另一个建议,所以我不能更改它们。有趣的PHP DOM类方法很抱歉混淆:-)到manny文件和我包含的文件提供了另一个建议,因此我无法更改它们。有趣的PHP DOM类方法