php输入输出缓冲,PHP中输出缓冲_PHP教程

?>

另外我们还需要注意刷新缓冲不光受以上几方面的影响,还受以下影响:

1). 个别web服务器程序,特别是Win32下的web服务器程序,在发送结果到浏览器之前,仍然会缓存脚本的输出,直到程序结束为止。有些Apache的模块,比如mod_gzip,可能自己进行输出缓存,这将导致flush()函 数产生的结果不会立即被发送到客户端浏览器。甚至浏览器也会在显示之前,缓存接收到的内容。例如 Netscape 浏览器会在接受到换行或 html

标记的开头之前缓存内容,并且在接受到 标记之前,不会显示出整个表格。一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节以后才开始显示该页面,所以必须发送一些额外的空格来让这些浏览器显示页面内容。

下面是很简单的一段代码

cache_file=$cache_file;

$this->cache_time=$cache_time;

}

//缓存开始

function cache_start(){

if ($this->cache_active){

include($this->cache_file);

exit;

}

//开启缓存

ob_start();

}

//判断缓存文件是否存在并且可用

function cache_active(){

//判断文件是否存在

if(file_exists($this->cache_file)){

$last_time=@filemtime($this->cache_file);//获取最后修改时间

//判断时间是否可用

if($this->cache_timecache_file);

return false;

}

}

}

//进行缓存目录的生成

function cache_creat(){

//不用判断直接生成缓存文件目录及文件,循环生成文件

$file=explode("/", $this->cache_file);

$num=count($file)-1;

for ($i=0;$icache_creat();

$fp=@fopen($this->cache_file, "w+");

fwrite($fp, $cache_content);

ob_end_flush();

}

//缓存的清除

function cache_clean(){

if(unlink($this->cache_file)){

return true;

}else {

$this->alert("缓存删除失败!请检查缓存文件是否存在");

return false;

}

}

//定义缓存文件的提醒函数

function alert($a){

echo "alert('$a');";

}

}

?>

测试页面test.php

cache_start(); //在页面的最开始

-------页面输出

$like="我爱吃橘子香蕉!";

echo $like."

";

$my_cache->cache_end();//最后进行输出

www.bkjia.comtrueTechArticle在PHP中,当执行echo,print的时候,输出并没有立即通过tcp传给客户端浏览器显示, 而是将数据写入php buffer。php output_buffering机制,意味在tcp…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值