请注意,如果您使用回调启动了 ob_start 调用,即使您使用 ob_end_clean 丢弃了 OB,该回调仍将被调用。
因为一旦设置了回调,就无法从 OB 中删除它,所以阻止回调函数产生任何影响的唯一方法是执行以下操作:
<?php
$ignore_callback = false;
ob_start('my_callback');
...
if($need_to_abort) {
$ignore_callback = true;
ob_end_clean();
...
}
function my_callback(&$buffer) {
if($GLOBALS['ignore_callback']) {
return "";
}
...
}
?>