博客
关于我
PHP执行耗时脚本实时输出内容
阅读量:794 次
发布时间:2023-03-01

本文共 809 字,大约阅读时间需要 2 分钟。

在某些情况下,我们需要确保脚本执行完毕后才能输出数据。如果没有处理完脚本,输出到页面的内容会被缓存到内存中,等脚本执行完毕后才会显示。这种情况下,我们需要实时输出来确保数据的及时性。

flush — 刷新输出缓冲

flush() 函数用于刷新PHP程序的输出缓冲,无论是在 CGI 或者其他类型的 web 服务器上。它将当前程序中所有已输出的内容立即发送到用户的浏览器。

需要注意的是,flush() 函数不会影响服务器或浏览器的缓存机制。因此,在实际应用中,建议同时使用 ob_flush() 和 flush() 来确保输出内容能够及时显示。

某些特定类型的 web 服务器(特别是运行于 Win32 系统上的 web 服务器)会在脚本执行结束后才将输出结果发送到浏览器。因此,即使调用了 flush(),输出内容也可能不会立即显示到用户的页面上。

此外,一些 web 服务器的模块(如 Apache 中的 mod_gzip)可能会对输出进行缓存处理,这意味着即使调用了 flush(),内容也可能不会立即发送到客户端浏览器。

浏览器自身也会对接收到的内容进行缓存。例如,Netscape 浏览器会在接收到 HTML 标签的开头后立即显示内容,但在接收到 标签之前不会显示整个表格。因此,在开发时需要特别注意浏览器缓存的影响。

为了确保在不同浏览器中都能实时显示内容,Microsoft Internet Explorer 等某些浏览器版本可能需要发送额外的空格来触发内容的显示。

如果需要实现实时输出,必须同时使用 ob_flush() 和 flush() 函数来确保输出内容能够及时发送到客户端浏览器。

        

转载地址:http://dvtfk.baihongyu.com/

你可能感兴趣的文章
php中级联,php实现三级级联下拉框_PHP
查看>>
php中绘制图像的手册,PHP图像图形处理入门教程(1/3)
查看>>
PHP中获取星期的几种方法
查看>>
Redis 限速器及问题
查看>>
php中高级基础知识点
查看>>
php中,如何将编译后的代码,反编译回去。
查看>>
php之aop实践
查看>>
PHP之APC缓存详细介绍(转)
查看>>
php之memcache,memcached
查看>>
php之引用
查看>>
PHP之数组和函数的基本教程
查看>>
UVa 10465 - Homer Simpson
查看>>
php九九乘法表加粗,PHP九九乘法表
查看>>
PHP二维数组将重复键值合并重组成三维数组
查看>>
PHP二维数组转换为一维数组
查看>>
PHP二维数组重组
查看>>
PHP交换两个变量值
查看>>
php代码执行完整流程介绍
查看>>
PHP代码格式化工具phpcf常见问题解决方案
查看>>
PHP使用3DES算法加密解密字符串
查看>>