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

当在PHP中输出内容时,页面不会马上显示信息,而是会缓存起来并在执行完PHP程序后一次性输出,这会导致页面等待过长时间,给用户带来不好的体验。为了解决这个问题,我们需要使用三个函数: flush()、ob_flush()、ob_end_flush()。

一、flush()

1.1 flush()函数的作用

flush()函数会将PHP输出的内容立即发送到浏览器端,而不是等到PHP脚本执行完毕后再发送。使用该函数可以保证在PHP执行过程中,数据能够实时从服务器向客户端发送,从而可以实现实时显示数据的功能。

1.2 flush()函数的使用方法

echo "hello world<br />";
flush();  #立即输出
echo "hi there<br />";
flush(); #再次立即输出

1.3 flush()函数的示例

下面是一个使用flush()函数得到输出实时显示功能的例子:

<?php
echo 'Press Start...<br />';
flush();

sleep(2);

echo 'Initializing...<br />';
flush();

sleep(2);

echo 'Loading modules...<br />';
flush();

sleep(2);

echo 'Ready to run.<br />';
flush();
?>

当PHP执行到flush()函数时,输出的内容就会立即推送到客户端并显示,在sleep()函数的时候可以看到输出的效果。

二、ob_flush()和ob_end_flush()

2.1 ob_flush()和ob_end_flush()函数的作用

在使用ob缓冲区来压缩、缓存输出的时候,PHP将所有输出内容都放到了缓冲区,当PHP代码执行结束或者缓存区清空时才发送数据到浏览器显示。ob_flush()和ob_end_flush()函数就是用来清空缓冲区的。

  • ob_flush()函数将当前内容的缓冲区的内容输出到浏览器。
  • ob_end_flush()函数用来清空当前缓冲区,关闭其写操作,释放缓冲区所占用的内存。

2.2 ob_flush()和ob_end_flush()函数使用方法

下面是一个使用ob缓冲区的例子:

<?php
ob_start(); //打开输出缓冲区 
echo "hello world!"; //输出到缓冲区 
ob_flush(); //将缓冲区内的内容发送到浏览器 
echo "<br />";
ob_flush(); //再次将缓冲区的内容发送到浏览器 
ob_end_flush(); //清空缓冲区并关闭其写操作 
?>

2.3 ob_flush()和ob_end_flush()函数使用示例

下面是一个使用ob_flush()和ob_end_flush()函数的例子:

<?php
ob_start();

echo "Ready to run.<br />";

ob_flush();

sleep(2);

echo "Loading modules...<br />";

ob_flush();

sleep(2);

echo "Initializing...<br />";

ob_flush();

sleep(2);

echo "Press Start...<br />";

ob_flush();

ob_end_flush();
?>

当PHP执行到ob_flush()函数时,缓冲区内的内容就会推送到客户端并显示,当PHP执行到ob_end_flush()函数时,缓冲区的内容被清空并关闭缓冲区的写操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php中flush()、ob_flush()、ob_end_flush()的区别介绍 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • php实现网站插件机制的方法

    本文将详细讲解如何使用PHP实现网站插件机制的方法。 什么是网站插件机制 网站插件机制是指,在网站中添加一系列可扩展的模块或插件,这些插件可以通过安装、卸载和激活等操作来扩展网站的功能,同时也方便了网站的维护和管理。 实现网站插件机制的方法 实现网站插件机制的方法有很多,我们这里主要介绍两种较为常见的方法: 方法一:使用composer进行插件管理 comp…

    PHP 2023年5月27日
    00
  • 微信微软小冰FM小程序在哪 微信微软小冰FM小程序功能介绍

    微信微软小冰FM小程序在哪 微信微软小冰FM小程序是微软小冰和微信联手推出的一款音乐播放器小程序,能够为用户提供高品质的音乐播放服务。该小程序可以在微信内搜索并进入使用,也可以在微软小冰的官方网站上进行下载安装。 在微信内搜索: 打开微信,点击底部的“发现”选项 搜索栏输入“微信微软小冰FM” 进入小程序并开始使用 在微软小冰官网下载安装: 打开微软小冰官网…

    PHP 2023年5月23日
    00
  • php curl模拟post请求和提交多维数组的示例代码

    下面为您详细讲解PHP Curl模拟POST请求和提交多维数组的示例代码的攻略。 简介 CURL是一个功能强大的命令行工具,可以用来和服务器进行通信。而PHP中的CURL库也提供了丰富的API来模拟HTTP协议的客户端请求。在使用CURL时,我们会使用CURL的选项来配置请求并且使用PHP的CURL函数来发起请求。 简单的POST请求 首先,我们来看一下如何…

    PHP 2023年5月26日
    00
  • PHP简单实现遍历目录下特定文件的方法小结

    下面是详细讲解“PHP简单实现遍历目录下特定文件的方法小结”的完整攻略,包括实现步骤和示例说明。 1. 利用PHP函数遍历目录 PHP提供了 scandir() 和 glob()两个函数可以遍历目录。其中,scandir() 返回指定目录中的文件和目录的数组,glob() 则返回匹配指定模式的文件名数组。 具体实现代码如下: // 遍历目录下的文件名和子目录…

    PHP 2023年5月26日
    00
  • PHP中__get()和__set()的用法实例详解

    下面是关于“PHP中__get()和__set()的用法实例详解”的攻略: 什么是__get()和__set() __get() 和 __set() 是两个魔术方法(Magic Method)。 __get() 和 __set() 可以让我们在访问或者设置一个对象的属性时,可以添加额外的处理逻辑。 __get()的用法 当我们访问一个对象属性时,如果该属性不…

    PHP 2023年5月25日
    00
  • PHP内置加密函数详解

    PHP内置加密函数详解 本文将对PHP内置的加密函数进行详细的讲解,包括常用的hash算法、加密方式以及其使用方法。 常用hash算法 md5 md5是一种广泛使用的hash算法。它将任意长度的消息压缩到一个128位的hash值,通常用于数据完整性校验、数字签名等。 // 使用md5计算字符串的hash值 $str = ‘Hello World’; $has…

    PHP 2023年5月27日
    00
  • php合并数组array_merge函数运算符加号与的区别

    PHP 中有两种合并数组的方式,分别是使用 array_merge 函数和数组运算符 +(加号)。 array_merge 函数 array_merge 函数会将多个数组合并成一个数组,返回的新数组中,所有的输入的数组的值都会保留,并以它们的原始键作为新数组的键。如果有相同的键,则后面的值会覆盖前面的值。 $firstArray = [‘a’, ‘b’, ‘…

    PHP 2023年5月26日
    00
  • php 判断字符串中是否包含html标签

    要判断一个字符串中是否包含 HTML 标签,有多种方法可以实现。 方法一:使用正则表达式 使用正则表达式可以很方便地判断字符串中是否包含 HTML 标签。这里介绍两种常见的正则表达式方法: 方法一-1:使用preg_match() if (preg_match(‘/<[^>]+>/’, $str)) { echo "字符串中包含 …

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部