电脑安全

您当前的位置:主页 > 电脑安全 >

用PHP的ob_start()控制您的浏览器cache-网络编程

来源:[db:来源]标题:   缓冲区    编辑:电脑技术全能网 时间:2019-09-23 12:34

原标题:用PHP的ob_start()控制您的浏览器cache-网络编程
   用PHP的ob_start();操纵您的扫瞄器cache!Output Control 函数能够让你自在操纵剧本中数据的输入。它十分地有效,特殊是关于:当你想在数据曾经输入后,再输入文件头的情形。输入操纵函数错误应用 header() 或 setcookie(), 发送的文件头信息发生影响,只对那些相似于 echo() 和 PHP 代码的数据块有感化。咱们先举一个简略的例子,让各人对Output Control有一个大抵的印象:Example 1.CODE<?phpob_start(); //翻开缓冲区echo "Hellon"; //输入header("location:index.php"); //把扫瞄重视定向到index.phpob_end_flush();//输入全体内容到扫瞄器?>全部对header()函数有懂得的人都晓得,这个函数会发送一段文件头给扫瞄器,然而假如在应用这个函数之前曾经有了任何输入(包含空输入,比方空格,回车和换行)就会提醒犯错。假如咱们去掉第一行的ob_start(),再履行此顺序,咱们会发觉失掉了一条过错提醒:"Header had all ready send by"!然而加上ob_start,就不会提醒犯错,起因是当翻开了缓冲区,echo前面的字符不会输入到扫瞄器,而是保存在效劳器,直到你应用 flush或许ob_end_flush才会输入,以是并不会有任何文件头输入的过错!1、 相干函数简介: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()2、深刻懂得:1. 对于Flush函数:这个函数在PHP3中就呈现了,是一个效力很高的函数,他有一个十分有效的功效就是革新browser的cache.咱们举一个运转后果十分显明的例子来讲明flush.Example 2.CODE<?phpfor($i = 1; $i <= 300; $i++ ) print(" ");// 这一句话十分要害,cache的构造使得它的内容只要到达必定的巨细才干从扫瞄器里输入// 换言之,假如cache的内容不到达必定的巨细,它是不会在顺序履行结束前输入的。经// 过测试,我发觉这个巨细的底限是256个字符长。这象征着cache当前接受的内容都市// 源源一直的被发送进来。For($j = 1; $j <= 20; $j++) {echo $j."";flush(); //这一部会使cache新增的内容被挤进来,表现到扫瞄器上sleep(1); //让顺序"睡"一秒钟,会让你把后果看得更清晰}?>详细后果你能够到这里看看[url]http://www.php2<

上一篇:PHP and AJAX responseXML 实例教程-网络编程

下一篇:没有了