关于PHP中的缓存函数
ob_start() and ob_end_flush()。

PHP输出机制:输出内容->缓存->输出到浏览器。
ob_start(callback function) 打开输出缓存区,所有的输出信息不再发送到浏览器,而是到回调函数处进行处理。
ob_end_flush(); 将缓存区中的所有内容输出,并关闭缓存区。

ob output buffering 的作用:
1.防止使用setCookie, header, session_start()函数使用不当(输出之后才使用)造成的错误。
2.捕获一些不可获取的输出,如phpinfo()的输出,在服务器中可以用ob函数获取服务器信息保存为文件而不进行输出,这样可以友好的或者是隐蔽的获取服务器的信息。
3.对输出的内容进行处理,如加快传输: 捕获内容后,使用gzip对内容进行压缩,然后在接收处使用解压缩,这样传输文件的速度会加快。或者对内容进行其他处理,如中英文处理,编码处理等。
4.生成静态文件 ,即静态模板技术:可以让php的输出写入到一个html文件中,如果没有动态的访问,就直接让用户看到那个静态页面,如果有输入的访问,则调用php文件,重新写html页面,这样对于流量较大的网站的性能提升有很大的作用。

相关函数的说明:
ob_start()打开缓冲区
ob_flush()刷新缓冲区的内容,输出
ob_get_contents() 返回缓冲区的内容
ob_get_length() 返回缓冲区的长度
ob_end_flush() 发送缓冲区内容到浏览器,并关闭缓冲区
ob_end_clean() 删除缓冲区内容(不输出),并关闭缓冲区
ob_implicit_flush() 打开或关闭绝对刷新。 打开绝对刷新后,每个脚本输出直接发送给浏览器,而不需要再调用flush()函数。

转载于:https://www.cnblogs.com/JacobQiao/p/5398635.html

PHP学习笔记(八)相关推荐

  1. ReactJS学习笔记八:动画

    ReactJS学习笔记八:动画 分类: react学习笔记 javascript2015-07-06 20:27 321人阅读 评论(0) 收藏 举报 react动画 目录(?)[+] 这里只讨论Re ...

  2. 【opencv学习笔记八】创建TrackBar轨迹条

    createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...

  3. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件? 当我们点开下载页时, 一 ...

  4. ROS学习笔记八:创建ROS msg和srv

    ROS学习笔记八:创建ROS msg和srv 本节主要讲述了如何创建和建立ROS msg和srv,同时使用命令行工具rosmsg.rossrv和roscp. msg和srv简介 msg:描述ROS m ...

  5. Halcon 学习笔记八:颜色识别

    Halcon 学习笔记八:颜色识别 一.图像处理需要的知识 二.图像处理的预处理和分割过程 二.颜色识别的方法 三.例子一 四.例子二 五.例子三 一.图像处理需要的知识 1.图像处理基础(rgb(h ...

  6. ZooKeeper学习笔记(八):ZooKeeper集群写数据原理

    写数据原理 写流程直接请求发送给Leader节点 这里假设集群中有三个zookeeper服务端 ACK (Acknowledge character)即是确认字符,在数据通信中,接收站发给发送站的一种 ...

  7. MongoDB 学习笔记八 复制、分片、备份与恢复、监控

    MongoDB 学习笔记八 复制.分片.备份与恢复.监控 MongoDB复制(副本集) 什么是复制? MongoDB 复制原理 MongoDB 副本集设置 副本集添加成员 MongoDB 分片 分片 ...

  8. python3第三方库手册_python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑...

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件? 当我们点开下载页时, 一 ...

  9. Polyworks脚本开发学习笔记(八)-组合运用命令批量改名

    Polyworks脚本开发学习笔记(八)-组合运用命令批量改名 需求解析 以下是使用包边比较点创建的一组包边点(即Gap点)和曲面点-包边点(即Flush点),这种命名方式不太常规,改为Gap和Flu ...

  10. Redis 学习笔记八:集群模式

    Redis 学习笔记八:集群模式 作者:Grey 原文地址: 博客园:Redis 学习笔记八:集群模式 CSDN:Redis 学习笔记八:集群模式 前面提到的Redis 学习笔记七:主从复制和哨兵只能 ...

最新文章

  1. Lammps命令与in文件
  2. python获取天气信息写入原有的excel文档
  3. 【ios】Storyboard教程
  4. 剑指-利用树的前序遍历和中序遍历结果,输出树的原始结构
  5. 车联网创新生态发展报告
  6. Oulipo(Hash入门第一题 Hash函数学习)
  7. 2021-2025年中国冲击式粉碎机装置行业市场供需与战略研究报告
  8. iOS获取camera的yuv数据
  9. 通过原生JS实现为元素添加事件的方法
  10. 【笔记】编译报错error: cannot convert ‘main(int, char**)::sockadrr*’ to ‘const sockaddr*’ for
  11. JS设计模式(二)-Revealing Module(揭示模式)
  12. matlab中switch函数的使用
  13. APT仓库目录和repository目录结构
  14. 几款科学计算显卡对比(GTX Titan X、GTX 980、Tesla K40 K80 及quadro K4200)
  15. pyQt5 帮助手册的使用
  16. 采用jacob读取并在网页中显示ppt、word、excel
  17. 搭建wnmp开发环境
  18. 力扣刷题之峰与谷(python)
  19. 30V N通道 MOS管SOT23-6封装 安森德ASDM6802ZC替代AOS万代AO6802方案
  20. 深度好文 | YOLOv5+DeepSORT多目标跟踪深入解读与测试(含源码)

热门文章

  1. oracle dba 连不上,Oracle10g的DBA无法登录解决方案
  2. java视频教程enet网络,流媒体技术原理及播放方式(浅显易懂)
  3. https请求 nginx 不生效_nginx设置https后无法打开网页
  4. 开放API 与 查询语言GraphQL
  5. java聊天室源工程文件_socket实现java聊天室,公告等功能,前后端分离(附源码)...
  6. SQL Server 函数的使用(数学函数)
  7. 单机按钮来图片轮播_原生js如何实现轮播图效果?
  8. fastjson将json字符串转化为java对象
  9. AVL树---最简单的实现
  10. 2017CCPC哈尔滨 A:Palindrome(manacher+树状数组)