找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 839|回复: 0
打印 上一主题 下一主题

php中flush()、ob_flush()、ob_end_flush()的区别介绍

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 08:26:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            flush()、ob_flush()、ob_end_flush()三者的区别:
首先,说下buffer,它是一个内存地址空间,为4096(1kb)【在php.ini配置文件中找到output_buffering配 置】,php有php output_buffering机制,php代码在执行的时候,并不是立即将内容输出,而是想将echo/print内容输出到buffer,buffer满的时候才会将数据交给系统内核交由tcp传给浏览器显示,当开启php php output_buffering机制(默认是开启的,可以通过ob_start()函数开启)后,只有当php buffer中的数据达到了设置值,才会将buffer中 的数据发送给浏览器。
但是浏览器也是有缓存的,一些版本的浏览当数据达到256字节的时候才输出内容,flush()可以将等待输出的内容立即发送到客户端,而ob_flush()只有等待到buffer满的时候才输出。
这里为大家举一个简单的例子,作为验证:
[U]复制代码[/U] 代码如下:
            
            
您可能感兴趣的文章:
  • php flush类输出缓冲剖析
  • php ob_flush,flush在ie中缓冲无效的解决方法
  • PHP逐行输出(ob_flush与flush的组合)
  • PHP flush()与ob_flush()的区别详解
  • 简单谈谈php中ob_flush和flush的区别
  • php中ob_flush函数和flush函数用法分析
  • php使用ob_flush不能每隔一秒输出原理分析
  • php flush无效,IIS7下php实时输出的方法
  • PHP flush 函数使用注意事项
  • Nginx环境下PHP flush失效的解决方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端