Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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 ob_clean()清洁所有级别的ob?_Php_Ajax_Output Buffering - Fatal编程技术网

Php ob_clean()清洁所有级别的ob?

Php ob_clean()清洁所有级别的ob?,php,ajax,output-buffering,Php,Ajax,Output Buffering,我刚刚有一个实例,在为ajax调用回显json之前,我正在执行ob_clean()。问题是,当时我有两个级别的ob,而ob_clean()只清除内部ob。为了让他们两个都清白,我只是清白了 ob_clean(); ob_clean(); 清洁所有当前缓冲区的正确方法是什么 编辑:是的,这个问题是类似的,但另一个是关于冲洗,我是说清洁。有一些事情我不明白,比如,结束,结束,结束等等,因此,答案将不同于另一个 也就是说: 鉴于: : 工作 导致无休止的循环,最终超时 ob_clean(); ob_

我刚刚有一个实例,在为ajax调用回显json之前,我正在执行ob_clean()。问题是,当时我有两个级别的ob,而ob_clean()只清除内部ob。为了让他们两个都清白,我只是清白了

ob_clean();
ob_clean();
清洁所有当前缓冲区的正确方法是什么

编辑:是的,这个问题是类似的,但另一个是关于冲洗,我是说清洁。有一些事情我不明白,比如,结束,结束,结束等等,因此,答案将不同于另一个

也就是说: 鉴于:

:

工作

导致无休止的循环,最终超时

ob_clean();
ob_clean();
ob_clean();
ob_clean();
ob_clean();
不起作用。(仍然回荡着:“之前”)

工作


工作

您只需在
的同时
循环中运行
ob\u get\u level()
,例如:

// put this line at the beginning of your script
// to disable auto-buffering through output_buffering ini directive
if (ob_get_level()) ob_end_clean();

ob_start();
ob_start();
ob_start();
ob_start();

$out = '';

while (ob_get_level())
{
    echo ob_get_level()."\n";
    $out .= ob_get_clean();
}

echo $out;

没有。由您跟踪已启动的ob缓冲区数量。这是为了防止“子”代码与“父”代码所建立的缓冲区发生冲突。确定的可能重复,我需要告诉yall:如果您像
ob_start();包括“view.php”$out=ob_get_cleanwhile (ob_get_level()){
        ob_clean();
    }
ob_clean();
ob_clean();
ob_clean();
ob_clean();
ob_clean();
 ob_get_clean();
 ob_get_clean();
ob_end_clean();
ob_end_clean();
// put this line at the beginning of your script
// to disable auto-buffering through output_buffering ini directive
if (ob_get_level()) ob_end_clean();

ob_start();
ob_start();
ob_start();
ob_start();

$out = '';

while (ob_get_level())
{
    echo ob_get_level()."\n";
    $out .= ob_get_clean();
}

echo $out;