当我的PHP遇到某个条件时,我想要在它上面执行某些操作(标题)。我已经阅读了所有关于ob_start
的内容,但通过测试很多次(我的意思是几天),老实说,我没有看到任何区别。所以现在我想知道我是否可以将标题保留在顶部并稍后激活它?
if($x == 1)
header("Location: something"); exit;
... // echo's, HTML, etc
$x = 1;
restart_php();
可能不是,但值得一试。也许有人确实知道一种技巧。
答案 0 :(得分:1)
如果你真的想稍后指定标题(并且它是变量的)来提供排序的救助 - 重定向......试试这个尺寸;
<?php
function restart_php($x){
if($x == 1)
ob_end_clean(); # throw everything away
header("Location: something");
exit;
}else{
$page = ob_get_contents();
ob_end_clean();
echo $page;
}
}
ob_start(); # everything after here goes into buffer so header is clean
... // echo's, HTML, etc
$x = 1; # to previous note on this, X is always equal to 1?
restart_php($x); # which clears the buffer and either shows header or echo's the contents
?>
答案 1 :(得分:0)
不知道,如果我理解你的问题吧...在php(实际上)中没有办法使用GO TO(就像基本的那样)....
更新:自php 5.3.0开始实施goto功能
你可以做什么,例如。在函数顶部写下你的条件<?php
function shutdown() {
global $x;
if($x==1) {
header("location ...");
}
//.....
}
// and then call the register_shutdown_function
register_shutdown_function('shutdown');
?>
关于此功能的更多信息 register_shutdown_function()