首页 > 语言 > 关键词  > PHP技巧,PHP,控制,浏览器,ca最新资讯  > 正文

PHP技巧:用PHP控制您的浏览器cache

2008-11-19 14:16 · 稿源:code-123.com

Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想
在数据已经输出后,再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(),
发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。

我们先举一个简单的例子,让大家对Output Control有一个大致的印象:

以下为引用的内容:

Example 1.

ob_start(); //打开缓冲区
echo "Hello\n"; //输出
header(“location:index.php”); //把浏览器重定向到index.php
ob_end_flush();//输出全部内容到浏览器
?>

所有对header()函数有了解的人都知道,这个函数会发送一段文件头给浏览器,但是如果在使用

这个函数之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会提示出错。如果我

们去掉第一行的ob_start(),再执行此程序,我们会发现得到了一条错误提示:“Header had

all ready send by”!但是加上ob_start,就不会提示出错,原因是当打开了缓冲区,echo后面

的字符不会输出到浏览器,而是保留在服务器,直到你使用flush或者ob_end_flush才会输出,所

以并不会有任何文件头输出的错误!

一、 相关函数简介:

1、Flush:刷新缓冲区的内容,输出。

函数格式:flush()

说明:这个函数经常使用,效率很高。

2、ob_start :打开输出缓冲区

函数格式:void ob_start(void)

说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。

为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。

3 、ob_get_contents :返回内部缓冲区的内容。

使用方法:string ob_get_contents(void)

说明:这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回 FALSE 。

4、ob_get_length:返回内部缓冲区的长度。

使用方法:int ob_get_length(void)

说明:这个函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果输出缓冲区没有激活。则返回 FALSE。

5、ob_end_flush :发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。

使用方法:void ob_end_flush(void)

说明:这个函数发送输出缓冲区的内容(如果有的话)。

6、ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区

使用方法:void ob_end_clean(void)

说明:这个函数不会输出内部缓冲区的内容而是把它删除!

7、ob_implicit_flush:打开或关闭绝对刷新

使用方法:void ob_implicit_flush ([int flag])

说明:使用过Perl的人都知道│=x的意义,这个字符串可以打开/关闭缓冲区,而ob_implicit_flush函数也和那个一样,默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直接发送到浏览器,不再需要调用 flush()

二、深入了解:

1. 关于Flush函数:

举报

  • 相关推荐
  • AI时代,浏览器的排位赛重新开启

    过去一周,WAIC 带给我们的感官刺激,已经从过去的大模型参数彻底走向AI应用革命。 但是我们所感知到的可能只是庞杂的碎片,如果梳理互联网大厂当下AI 叙事的重点,集体所向,还要从别处寻找答案。 比如,对于信息入口的定义,对于全新AI 交互形态的探索,路线其实越来越明朗。 当 OpenAI 宣布代号为「Aura」的AI浏览器进入开发阶段时,科技圈再次意识到:这场由大模型�

  • iPhone 17全系手机膜曝光:Air屏幕尺寸介于Pro和Pro Max之间

    近日,海外数码媒体披露了一组疑似iPhone 17 系列屏幕保护贴膜的照片,首次展现了即将发布的iPhone 17 Air与其他型号的屏幕尺寸差异。 根据图片显示,iPhone 17 Air手机的屏幕尺寸介于iPhone 17 Pro与iPhone 17 Pro Max之间,画面排列顺序依次为:iPhone 17、iPhone 17 Pro、iPhone 17 Air,最后是iPhone 17 Pro Max。 依据目前的传闻,iPhone 17 Air可能搭载OLED屏幕,预计对角线尺寸为约6.6英寸,部分消息�

  • 真我新机撞脸iPhone 17 Pro:镜头排布一模一样

    博主数码闲聊站曝光了真我新机,该机采用横向大矩阵DECO,摄像头排布跟即将发布的iPhone 17 Pro一模一样。该博主爆料,真我将会抢先苹果发布这款新品。 如图所示,真我新机的三摄布局跟iPhone 17 Pro一致,唯一区别是iPhone 17 Pro相机右侧配备LIDAR激光雷达扫描仪,真我没有这项配置。 另外,渲染图显示真我新品搭载骁龙7 Gen4平台,这意味着该机是一款中端产品。

  • iPhone17Pro最新外观曝光:苹果调整天线布局

    ​近日,有博主在社交平台分享了iPhone 17 Pro的全新渲染图,引发科技圈广泛关注。此次苹果对iPhone 17 Pro的天线布局进行了重新设计,有望为用户带来更出色的信号体验。 从渲染图可以清晰看到,iPhone 17 Pro的天线布局与以往机型有明显不同。除了金属中框上保留天线条外,其矩阵相机模组也环绕了一圈天线条。这样的设计并非随意为之,而是有着实际意义。当用户握持设备时

  • iPhone 18 Pro首发!苹果最强基带曝光

    上个月微软面向商业客户推出了Surface Laptop 5G版本,它支持Nano SIM卡和eSIM两种方式,还可作为热点为其他设备提供网络。在Surface Laptop推出5G之际,苹果也在着手准备5G版Mac设备。 苹果记者Mark Gurman爆料,苹果最快会在2026年在Mac电脑上配备自研5G基带芯片,这将是苹果史上首款支持5G网络的Mac设备。 据悉,2026年的Mac电脑将搭载苹果新一代基带芯片C2,这颗基带由iPhone 18 Pro率先搭

  • 成本、效率差距太大!苹果短期不会在美国生产iPhone

    特朗普关税战的最重要目的之一,就是逼制造业回流,其中iPhone在美国生产一事也引发关注。 对此,名记马克古尔曼表示了自己的看法:正如我之前多次强调的,至少在短期内,苹果绝无可能在美国启动iPhone大规模量产。” 他强调,从成本、规模及工程角度看,这在目前都是不现实的。即便是在印度,苹果也耗费了近十年时间才刚刚能生产出一定比例的iPhone。 另外,未来�

  • 苹果iPhone 17全系涨价没跑了!

    投资机构GF Securities的首席分析师JeffPu称,iPhone 17全系机型都将涨价,包括在美国。 这与近段时间很多分析师的意见相同,目前来看iPhone 17涨价已经基本成为定局。 iPhone 17可能涨价的主要原因是关税,华尔街分析师预计,iPhone 17系列机型的价格可能会比相应的iPhone 16机型高出50美元至100美元。 不过,即使价格真的上涨,苹果也可能会想出巧妙的办法来应对这种情况,比如将iP

  • 苹果最薄手机要火:王腾想买iPhone 17 Air

    今年9月苹果将发布iPhone 17系列,除了常规的iPhone 17、iPhone 17 Pro和iPhone 17 Pro Max之外,苹果还将带来全新的iPhone 17 Air,定位轻薄,它将替代Plus成为苹果的新系列,这是史上最薄苹果手机。 博主数码闲聊站爆料,iPhone 17 Air做了双面冷雕工艺,主要是为了减薄,电池差不多就3000mAh,机身厚度是5.Xmm,接下来就等苹果验证看看超轻薄是不是第一生产力。 对于iPhone 17 Air,REDMI总经理

  • iPhone 17 Air/Pro电池对比:厚度差异明显

    有博主晒出了iPhone 17 Air和iPhone 17 Pro的电池对比照。 爆料称iPhone 17 Air的电池厚度只有2.49mm,是iPhone 17 Pro的一半左右,其容量只有2800mAh(iPhone 17 Pro电池容量未知)。 作为一款超薄机型,iPhone 17 Air的电池容量没有突破3000mAh大关,这个容量比2016年上市的iPhone 7 Plus还要小,后者配备了2900mAh电池。 据悉,iPhone 17 Air电池缩水的主要原因是机身过于轻薄,其厚度在5.5mm左右,是苹果

  • 曝iPhone 17 Pro要涨价:苹果扛不住了

    当地时间7月30日,美国总统特朗普发文称,自8月1日起,美国将对来自印度的商品征收25%的关税。 分析师称,若25%的关税生效,苹果的净利润将会受到重大影响,因为印度约占iPhone总出货量的20%,其中大部分销往美国,价值约400亿美元。 更严重的是,短期内苹果无处可去,只能承担关税带来的负面影响,如今要在美国大规模组装iPhone几乎不可能,而且可能需要数十年才能实�