Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检测是否已写入任何输出?如果有,我如何重定向?_Php_Error Handling - Fatal编程技术网

Php 如何检测是否已写入任何输出?如果有,我如何重定向?

Php 如何检测是否已写入任何输出?如果有,我如何重定向?,php,error-handling,Php,Error Handling,假设我需要一些通用的错误处理,可以从各地调用 理想情况下,我只想使用标题('Location:…)重新定向到错误页面,但如果写入了任何输出,我当然不能这样做,所以 1) 如何检测是否已写入任何输出? 2) 如果有新页面,我如何加载它 也许我应该对整个页面进行缓冲,并且只有在确定页面已完成且不再发生错误时才输出它?使用PHP内置的输出缓冲。最简单的是,您只需在生成输出之前调用ob\u start() 如果您愿意,还可以利用其他选项: 使用PHP内置的输出缓冲。最简单的是,您只需在生成输出之前调用o

假设我需要一些通用的错误处理,可以从各地调用

理想情况下,我只想使用
标题('Location:…
)重新定向到错误页面,但如果写入了任何输出,我当然不能这样做,所以

1) 如何检测是否已写入任何输出?
2) 如果有新页面,我如何加载它


也许我应该对整个页面进行缓冲,并且只有在确定页面已完成且不再发生错误时才输出它?

使用PHP内置的输出缓冲。最简单的是,您只需在生成输出之前调用
ob\u start()

如果您愿意,还可以利用其他选项:


使用PHP内置的输出缓冲。最简单的是,您只需在生成输出之前调用
ob\u start()

如果您愿意,还可以利用其他选项:

1)如何检测是否写入了任何输出

使用
headers\u sent()

2) 如果有新页面,我如何加载它

通过回显元数据或javascript重定向

注意:使用一些输出缓冲可能更好,甚至更好,在所有处理完成之前不要回显任何内容

1)如何检测是否写入了任何输出

使用
headers\u sent()

2) 如果有新页面,我如何加载它

通过回显元数据或javascript重定向


注意:使用一些输出缓冲可能更好,甚至更好,在所有处理完成之前不要回显任何内容

+1是的,这就是我的想法;我只是想确认一下。谢谢。+1是的,我就是这么想的;我只是想确认一下。谢谢