答案只有一个,ob函数
鉴于下面为什么$a重复和var_dump重复,
因为我发现,如果向浏览器端的输出不够大,那么就不会报错。即使没有开启ob_start,但是不知道这个具体数值是多少,希望大神解答。
<?PHP
ob_start(); //打开缓冲区
echo $a="HellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHellonHel"; //
echo '<br>';
var_dump($a);
var_dump($a);
var_dump($a);
var_dump($a);
session_start();
header("Content-type: text/html; charset=utf-8"); //把浏览器重定向到index.php
下面是获取phpinfo,存取的过程。
ob_start();
phpinfo();
$info=ob_get_contents();
$file=fopen('phpinfo.html','w');
fwrite($file,$info);
fclose($file);
ob可以一步步追踪页面的输结果,也可以用于缓存,把函数返回的结果直接接受。在看一个一步步获得并清除缓存的例子
<?php
ob_start();//开启缓冲区
echo "1!\n";
$arr[1] = ob_get_contents() ;
ob_flush();//缓冲器清除
echo "2!\n";
$arr[2] = ob_get_contents() ;
echo "3!\n";
$arr[3] = ob_get_contents() ;
var_dump($arr);
// ob_flush();// 不能用ob_end_flush()清除
$b=ob_get_contents();
var_dump($b);