当前位置:首页 > 日记 > 正文

PHP缓存机制输出控制详细解决方案

PHP缓存机制输出控制详细解决方案
在php5.2版本的配置,默认output_buffering是封闭的,所以下面的三行代码将有一个警告:

警告:不能修改头信息-头已经发送
echo'hello1;
头('content-type:文本/ HTML;字符集= UTF-8);
echo'hello2;

打开OB缓存有两种方法。

打开output_buffering = 4096 1。php.ini

这个指令是启用的,所以每一个PHP脚本调用ob_start()函数相当于开始,和php5.5默认打开了output_buffering =默认为4096。

2。使用ob_start()直接在程序;

打开输出缓冲区。当输出缓冲区被激活时,脚本将不输出内容(除了HTTP头),但需要输出的内容存储在内部缓冲区中。

内部缓冲区的内容可以被复制到与ob_get_contents字符串变量()函数,输出的内容存储在内部缓冲区中,你可以使用ob_end_flush()的功能。此外,该ob_end_clean()函数会默默丢弃缓冲区的内容。
* output_buffering =试验
* /
(ob_start) / /打开;ob缓存
echo'hello1 '; / /对象存储在缓存中
头('content-type:文本/ HTML;字符集= UTF-8 '); / /过程高速缓存中
/ / ob_end_clean(OB); / /清空缓存,并关闭对象缓存
echo'hello2 '; / /对象存储在缓存中
$str = ob_get_contents(OB); / /返回缓存的数据(不清除缓冲区)
file_put_contents('ob .txt,$str); / /保存$str文件
/ / ob_clean(OB); / /清空缓存
echo'hello3 '; / /对象存储在缓存中
echo'hello4 '; / /对象存储在缓存中
将生成的ob.txt文件,脚本在hello1hello2 / * * / hello1hello2hello3hello4,浏览器输出
如果ob_clean(打开) / *笔记,也没有内容的浏览器输出hello3hello4产生ob.txt文件。
如果(ob_end_clean)笔记 / *打开,然后ob.txt仍不满足,因为对OB的浏览器缓存关闭,输出hello2hello3hello4 * /

ob_flush()和()的例子ob_end_flush:
ob_start();
echo'abc '; / /对象存储在缓存中
头('content-type:文本/ HTML;字符集= UTF-8 '); / /过程高速缓存中
echo'hello '; / /对象存储在缓存中
ob_flush(OB); / /将缓存输出清除程序缓存,缓存的缓存没有OB,OB封闭
/ / ob_end_flush(OB) / /内容的缓存输出的程序,明确对象缓存,缓存关闭OB
echo'aa '; / /对象存储在缓存中
ob_get_contents(回声);
最终的输出abchelloaaaa / * * /
*注ob_flush,开放的ob_end_flush,abchelloaa * 最终输出/

小心 uff1a

在output_buffering = 4096的情况下,ob_end_clean()关闭只有一个ob缓存(即ob_start),和系统不是封闭的。

ob_end_flush()是相同的。

OB缓存的原理/原理:

1。打开OB缓存,首先将数据放在ob缓存中。

2。如果是头信息,把它直接放在程序缓存中。

三.当页面被执行到最后时,由OB缓存的数据被放置在程序缓存中,然后返回到浏览器一次。

最后,有一个刷新();强制PHP程序缓存到浏览器缓存。

功能:微软Internet Explorer的某些版本只在接收到256字节后才开始显示页面,因此必须发送一些额外的空间,让这些浏览器显示页面的内容。
回声str_repeat('',1024); / /重复输出多个字符(256个字节的浏览器缓存后无输出)
($ i = 0;$ i < 5;$ + +)
{
回声$ i;
(刷新);强制刷新程序缓存到浏览器缓存
休眠(1);休眠1秒,HTTP连接没有断开,每秒钟输出一美元。
}

相关文章

Linux系统的12大内幕介绍

Linux系统的12大内幕介绍

系统,内幕,电脑软件,Linux,评论:Linux运行飞行控制系统、银行系统,甚至运行一个核潜艇系统。你的生命、金钱和死亡都掌握在Linux上,所以我们可以让你活下去,也可以让你破产,甚至杀死你。你知道,Linux的重要性几乎是不可能相信的。 据国外媒体报…

sbdrvdet是sbdrvdet.exe-使用

sbdrvdet是sbdrvdet.exe-使用

电脑软件,sbdrvdet,exe,点评:sbdrvdet.exe是一个创新的声卡声卡驱动 进程文件:sbdrvdet或sbdrvdet.exe 进程名称:创新声卡驱动组件 过程类别:安全风险的过程 英文描述: sbdrvdet.exe是一个创新声卡驱动有关的过程。这,声霸卡,它也被称为对与错。…

深度密码加盐原理分析

深度密码加盐原理分析

原理分析,密码,深度,加盐,电脑软件,我们知道,如果我们直接散列密码,黑客可以通过获取这个密码获得哈希值,然后通过搜索散列值字典(例如MD5密码破解网站)获得用户的密码。 加入盐可以解决这个问题,在一定程度上,所谓的盐的方法是加上一点点酱油。…

如何看到更具体的windows7版本号

如何看到更具体的windows7版本号

版本号,电脑软件,点评:检查所用计算机的性能都必须有它,但萧边只能看到系统被激活,和一些记忆品质、不够具体,在这里我们介绍一个查看系统版本的方法是更具体的,有兴趣的朋友可以看看 我相信很多人都会在加载系统有一个习惯,检查计算机的属性,但是…

简单快捷键

简单快捷键

快捷键,简单,电脑软件,评论:以下所有的命令是有效的Linux / Unix外壳下,它是基于攻击。如果是有差异的,以你自己的服务器,Linux在本条所指的主要是指RHEL和CentOS,和UNIX是FreeBSD,这是服务器最常用的版本。 Ctrl + a切换到命令行 此操作与家庭…

到上个月,下个月,这个月的日期(strtot

到上个月,下个月,这个月的日期(strtot

日期,上个月,这个月,下个月,电脑软件,在写程序的时候,突然发现一个功能早已在开关的经典版本的天数写的,但在上个月的天数,我只是放在1,估计是太困了,然后看见一个毛骨悚然想要的感觉,然后对付你,但要知道超方便的方法,发现以下的版本,做一点修改。 …

MySQL启动的错误2003和错误问题解

MySQL启动的错误2003和错误问题解

错误问题,启动,解决方案,错误,电脑软件,安装MySQL时经常发现,大部分启动失败的正常启动是错误2003错误,下面是解决方案: mysqld - NT -删除 mysqld - NT安装 启动MySQL 启动MySQL 服务1067的问题也可能遇到,有两个原因: (1)有在basedir和my.…

Win8桌面图标无关(溶液)

Win8桌面图标无关(溶液)

桌面图标,溶液,电脑软件,如果Win8系统的电脑突然如果在传统桌面没有图标使用时发现,这通常是和explorer.exe。如果有任何问题,通过以下方法解决。 首先,新闻;按Ctrl + Alt + delV 任务管理器,点击文件->新任务,输入命令;在打开的窗口;explorer.exe…

将MySQL时间戳转换为普通可读时间

将MySQL时间戳转换为普通可读时间

时间戳,方法,时间格式,两种,转换为,使用Excel将时间戳的公式: 代码: =(xxxxxxxxxx + 8 * 3600)/ 86400 + 70 * 365 + 19 使用mysql语句解释时间戳语法: 代码: 选择from_unixtime(1234567890,% y %M - %:%我:%s) 附属的: 在MySQL数据库中,一个时间字段…

什么是查询javaw.exejavaw工艺过程

什么是查询javaw.exejavaw工艺过程

查询,过程,工艺,电脑软件,exejavaw,点评:javaw.exe是Sun微系统公司的网络协议相关的软件通常基于Internet Explorer的工作。 进程文件:javaw或javaw.exe 进程名称:java 过程类别:安全风险的过程 英文描述: 对不起,这个过程没有英语decriptions! …

四系统磁盘碎片整理的频率三部曲

四系统磁盘碎片整理的频率三部曲

频率,系统,磁盘碎片整理,电脑软件,三部曲,点评:磁盘碎片整理程序可以在硬盘整理文件和未使用的空间,优化加载程序的运行速度,提高硬盘的访问速度。下面是磁盘碎片整理的四集。 Windows包含一组程序专门设计来优化计算机的性能,如维护向导,驱动器…

我怎样收集我的空间

我怎样收集我的空间

空间,电脑软件,QQ空间收藏家可以收集所有你喜欢的服装,并使它很容易打扮起来以后。收集你的太空服的方式,请按照以下步骤: 第一步:你可以在自己的空间里装扮自己,然后点击衣服空间; 第二步:我穿衣,当衣服收到时,就会有成功的提醒; 第三步:收集成功的…