php5与mysql5 web 开发技术详解-11 php输入输出缓冲
1、缓冲技术简介
缓冲,英文Out Buffer。当脚本没有执行完成之前,输出缓冲不会有任何数据发送输出到客户端,这意味着我们可以任意生成数据,以及使用setcookie()\header()函数功能,不必担心数据发送的顺序是不是正确。
主要函数如下:
ob_start();
ob_flush()
ob_end_clean()
ob_end_flush()
2、从缓冲读取内容
ob_get_content()
ob_get_length()
结合file_put_contents(),可以将缓冲内容保存到静态页。
例:
ob_start();
$result = mysql_query("sql语句");
while(){
print("...........");
......................
}
$output = ob_get_content();
$ob_length = ob_get_length();
ob_end_clean();
file_put_contents("employee.txt", $output);
echo "缓冲区内容长度为" . $ob_length ;
3、使用回调函数
ob_start('myob_callback')
4、输出回调函数
5、压缩内容输出
<?php
ob_start('ob_gzhandler');
print "缓冲压缩输出的内容";
ob_end_flush();
?>