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日

相关文章

  • ThinkPHP实现二级循环读取的方法

    下面是详细讲解“ThinkPHP实现二级循环读取的方法”的完整攻略。 1. 理解ThinkPHP的模板引擎和标签语法 ThinkPHP采用了自己独特的模板引擎,采用类似HTML的标签语法,但是使用了一些自定义的标签。在实现二级循环读取时,我们需要用到ThinkPHP的标签语法,因此需要进行一些对模板引擎和标签语法的理解。 2. 准备数据源 实现二级循环读取需…

    PHP 2023年5月23日
    00
  • PHP 匿名函数与注意事项详细介绍

    当谈到 PHP 中的函数时,我们一般都会想到一些可以被命名的函数,然而,PHP 也有一种特殊的函数,叫做匿名函数。 什么是 PHP 匿名函数? PHP 匿名函数(Anonymous Function),也被称作闭包函数(Closure),是一种不需要被命名即可调用的函数。通俗地说,它是一种没有名字的函数。 PHP 匿名函数的语法如下: $anonymousF…

    PHP 2023年5月27日
    00
  • 图文详解PHP环境搭建教程

    图文详解PHP环境搭建教程 在本教程中,我们将介绍如何搭建PHP开发环境,让您可以在本地进行PHP开发、调试和测试。以下步骤适用于Windows、MacOS和Linux操作系统。 步骤一:安装Web服务器 首先,您需要安装Web服务器。 Apache和 Nginx是最流行的Web服务器,本教程将介绍如何安装Apache服务器: 访问 Apache官网,下载安…

    PHP 2023年5月23日
    00
  • 微信小程序实现用table显示数据库反馈的多条数据功能示例

    下面我会为你提供一份完整的攻略,详细地讲解如何实现“微信小程序实现用table显示数据库反馈的多条数据功能示例”。 1. 准备工作 在开始之前,我们需要先进行准备工作。具体工作如下:1. 准备微信开发者工具,确保能够正常创建小程序项目;2. 准备一个数据源,可以是本地文件夹或者远程数据库服务器。 2. 创建表格组件 在小程序页面的wxml文件中添加一个tab…

    PHP 2023年5月30日
    00
  • PHP识别二维码的方法(php-zbarcode安装与使用)

    PHP识别二维码的方法(php-zbarcode安装与使用) 安装php-zbarcode扩展 首先需要安装ZBar扫描软件,可以在官网 http://zbar.sourceforge.net/ 下载和安装。 接下来,我们需要安装php-zbarcode扩展。安装方式如下: Linux环境 在Linux下,使用以下命令安装php-zbarcode扩展: su…

    PHP 2023年5月26日
    00
  • php中的常用魔术方法总结

    那么我来为你详细讲解“PHP中的常用魔术方法总结”的完整攻略。 什么是魔术方法 在PHP中,魔术方法(Magic Method)是一种特殊的方法,它们允许在对象执行某些特殊的操作时自动调用。魔术方法和普通方法最大的区别在于它们的调用时机不同,魔术方法是在特定的情况下自动调用的,而普通方法则需要在代码中显式调用。 常用的魔术方法 以下列出了PHP中常用的魔术方…

    PHP 2023年5月25日
    00
  • php开发论坛系统

    为了详细讲解“PHP开发论坛系统”的完整攻略,我们需要按照以下步骤一步步实现: 确定需求和功能首先,我们需要明确开发论坛系统的目的和目标受众,确定需要实现的功能。常见的论坛系统包括用户注册、登录、发帖、回帖、分类、分类标签、搜索、私信等功能。我们可以通过分析现有的论坛系统和用户需求来确定自己的需求和功能。 安装运行环境为了开发PHP论坛系统,我们需要安装运行…

    PHP 2023年5月23日
    00
  • php中使用Ajax时出现Error(c00ce56e)的详细解决方案

    首先,解决这个问题需要了解Error(c00ce56e)是什么。它是由于在传输数据时,数据的编码格式出现问题导致的。具体来说,当服务器返回的响应数据不是utf-8编码格式时,就会引发这个错误。 为了解决Error(c00ce56e)问题,有一些方法: 方法一:在PHP代码中设置header 在PHP代码中,输出响应内容之前,使用header设置响应头的Con…

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