网站首页 > 技术教程 正文
PHP输入输出控制函数是PHP初学者必须要掌握的一个知识点,很多人刚开始的时候都分不清到底flush和ob_flush有什么区别?为什么PHP要提供两个将缓冲区的内容输出的函数?许多人都建议,不管你理解不理解,都要两个一起调用,同时是要按这样的顺序一起调用。
ob_flush();
flush();
结合官方文档和相关资料,ob_flush是发送用户(程序员)自定义的缓冲内的内容数据,而flush则是发送php自身的缓冲区的内容数据。这应该是最重要最大的区别了。不管你知道不知道,注意没注意,你可能在代码中调用了多次ob_start函数,其实这已经创建了多个输出缓冲区,这些缓冲区构成了一个缓冲区堆栈,最新创建的缓冲区就是当前缓冲区。每调用一次ob_flush就会将当前缓冲区的内容输出到上一层缓冲区,依次类推。最后才回到php缓冲区。所以上面的代码说要按顺序来调用,不然可能出现意想不到的结果。你可以简单理解成ob_flush 将缓冲内容发送到flush,而flush将缓冲内容发给客户端(浏览器),尽管实际上情况可能要比这复杂多了。
此外,ob_flush还受到php的配置选项output_buffering(默认是4069字符)的影响,如果缓冲区的内容没达到这个阀值,调用了ob_flush也没作用。而flush则不受此限制。另外这两个函数都不能影响到客户端浏览器的缓存,也不能影响到web服务器自身的缓存机制。
以上如有谬误,欢迎指正!
猜你喜欢
- 2024-11-05 恐高症患者 大众CC改装HellaFlush风格
- 2024-11-05 Redis缓存:redis 数据库管理(redis数据库缓存机制)
- 2024-11-05 空气悬架上身 奥迪S7改HellaFlush风格
- 2024-11-05 HellaFlush风格 大众高尔夫改装方案
- 2024-11-05 年轻的老虫子 老款大众甲壳虫hellaflush潮改装
- 2024-11-05 据说这种“外八”改装风格 许多车主都喜欢
- 2024-11-05 李洋分享奥迪Q5改装AIRBFT气动避震品牌优势
- 2024-11-05 ctx.writeAndFlush(protocol).sync()是什么功能
- 2024-11-05 AIRBFT气动避震工厂李洋讲述大众迈腾旅行版为什么都改装低趴
- 2024-11-05 图解MySQL(5)-Buffer Pool的flush链表
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)