当前位置: 首页 > news >正文

黄页88网站推广怎么样镇江论坛

黄页88网站推广怎么样,镇江论坛,网站建设有什么好的介绍,主页模板用PHP的ob_start();控制您的浏览器cache Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用#xff0c;特别是对于#xff1a;当你想在数据已经输出后#xff0c;再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生…用PHP的ob_start();控制您的浏览器cache Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用特别是对于当你想在数据已经输出后再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。我们先举一个简单的例子让大家对Output Control有一个大致的印象Example 1. 程序代码 程序代码?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、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函数这个函数在PHP3中就出现了是一个效率很高的函数他有一个非常有用的功能就是刷新browser的cache.我们举一个运行效果非常明显的例子来说明flush.Example 2. 程序代码 程序代码?phpfor($i 1; $i 300; $i ) print( );// 这一句话非常关键cache的结构使得它的内容只有达到一定的大小才能从浏览器里输出// 换言之如果cache的内容不达到一定的大小它是不会在程序执行完毕前输出的。经// 过测试我发现这个大小的底限是256个字符长。这意味着cache以后接收的内容都会// 源源不断的被发送出去。For($j 1; $j 20; $j) {echo $j.;flush(); //这一部会使cache新增的内容被挤出去显示到浏览器上sleep(1); //让程序睡一秒钟会让你把效果看得更清楚}? 注如果在程序的首部加入ob_implicit_flush()打开绝对刷新,就可以在程序中不再使用flush(),这样做的好处是提高效率 2. 关于ob系列函数我想先引用我的好朋友y10k的一个例子Example 3. 比如你用得到服务器和客户端的设置信息但是这个信息会因为客户端的不同而不同如果想要保存phpinfo()函数的输出怎么办呢在没有缓冲区控制之前可以说一点办法也没有但是有了缓冲区的控制我们可以轻松的解决程序代码 程序代码?phpob_start(); //打开缓冲区phpinfo(); //使用phpinfo函数$infoob_get_contents(); //得到缓冲区的内容并且赋值给$info$filefopen(\info.txt\,\w\); //打开文件info.txtfwrite($file,$info); //写入信息到info.txtfclose($file); //关闭文件info.txt?   用以上的方法就可以把不同用户的phpinfo信息保存下来这在以前恐怕没有办法办到其实上面就是将一些过程转化为函数的方法或许有人会问难道就这个样子吗还有没有其他用途当然有了比如笔者论坛的PHP 语法加亮显示就和这个有关PHP默认的语法加亮显示函数会直接输出不能保存结果如果在每次调用都显示恐怕会很浪费CPU笔者的论坛就把语法加亮函数显示的结果用控制缓冲区的方法保留了大家如果感兴趣的话可以来看看 可能现在大家对ob_start()的功能有了一定的了解上面的一个例子看似简单但实际上已经掌握了使用ob_start()的要点。1.使用ob_start打开browser的cache这样可以保证cache的内容在你调用flush(),ob_end_flush()或程序执行完毕之前不会被输出。2.现在的你应该知道你所拥有的优势可以在任何输出内容后面使用header,setcookie以及session这是 ob_start一个很大的特点也可以使用ob_start的参数在cache被写入后然后自动运行命令比如ob_start(\ ob_gzhandler\)而我们最常用的做法是用ob_get_contents()得到cache中的内容然后再进行处理……3.当处理完毕后我们可以使用各种方法输出flush(),ob_end_flush(),以及等到程序执行完毕后的自动输出。当然如果你用的是ob_get_contents()那么就要你自己控制输出方式了。 来让我们看看能用ob系列函数做些什么…… 一、 静态模版技术 简介所谓静态模版技术就是通过某种方式使得用户在client端得到的是由PHP产生的html页面。如果这个html页面不会再被更新那么当另外的用户再次浏览此页面时程序将不会再调用PHP以及相关的数据库对于某些信息量比较大的网站例如sina,163,sohu。类似这种的技术带来的好处是非常巨大的。 我所知道的实现静态输出的有两种办法1.通过y10k修改的phplib的一个叫template.inc.php类实现。2.使用ob系列函数实现。对于第一种方法因为不是这篇文章所要研究的问题所以不再赘述。我们现在来看一看第二种方法的具体实现Example 4. 程序代码 程序代码?phpob_start();//打开缓冲区?php页面的全部输出?$content ob_get_contents();//取得php页面输出的全部内容$fp fopen(output00001.html, w); //创建一个文件并打开准备写入fwrite($fp, $content); //把php页面的内容全部写入output00001.html然后……fclose($fp);? 这样所谓的静态模版就很容易的被实现了…… 二、 捕捉输出 以上的Example 4.是一种最简单的情况你还可以在写入前对$content进行操作……你可以设法捕捉一些关键字然后去对它进行再处理比如Example 3.所述的PHP语法高亮显示。个人认为这个功能是此函数最大的精华所在它可以解决各种各样的问题但需要你有足够的想象力……Example 5. 程序代码 程序代码?phpFunction run_code($code) {If($code) {ob_start();eval($code);$contents ob_get_contents();ob_end_clean();}else {echo 错误没有输出;exit();}return $contents;?}   以上这个例子的用途不是很大不过很典型$code的本身就是一个含有变量的输出页面而这个例子用eval把$code中的变量替换然后对输出结果再进行输出捕捉再一次的进行处理…… Example 6. 加快传输 程序代码 程序代码?/*** Title.........: PHP4 HTTP Compression Speeds up the Web** Version.......: 1.20** Author........: catoc catoc163.net** Filename......: gzdoc.php** Last changed..: 18/10/2000** Requirments...: PHP4 4.0.1** PHP was configured with --with-zlib[DIR]** Notes.........: Dynamic Content Acceleration compresses** the data transmission data on the fly** code by sun jin hu (catoc) catoc163.net** Most newer browsers since 1998/1999 have** been equipped to support the HTTP 1.1** standard known as \content-encoding.\** Essentially the browser indicates to the** server that it can accept \content encoding\** and if the server is capable it will then** compress the data and transmit it. The** browser decompresses it and then renders** the page.**** Modified by John Lim (jlimnatsoft.com.my)** based on ideas by Sandy McArthur, Jr** Usage........:** No space before the beginning of the first \?\ tag.** ------------Start of file----------** |?** | include(\gzdoc.php\);** |? ** |HTML** |... the page ...** |/HTML** |?** | gzdocout();** |? ** -------------End of file-----------*/ob_start();ob_implicit_flush(0);function CheckCanGzip(){global $HTTP_ACCEPT_ENCODING;if (headers_sent() || connection_timeout() || connection_aborted()){return 0;}if (strpos($HTTP_ACCEPT_ENCODING, \x-gzip\) ! false) return \x-gzip\;if (strpos($HTTP_ACCEPT_ENCODING,\gzip\) ! false) return \gzip\;return 0;}/* $level compression level 0-9, 0none, 9max */function GzDocOut($level1,$debug0){$ENCODING CheckCanGzip();if ($ENCODING){print \n!-- Use compress $ENCODING --n\;$Contents ob_get_contents();ob_end_clean();if ($debug){$s \pNot compress length: \.strlen($Contents);$s . \Compressed length: \.strlen(gzcompress($Contents,$level));$Contents . $s;}header(\Content-Encoding: $ENCODING\);print \x1fx8bx08x00x00x00x00x00\;$Size strlen($Contents);$Crc crc32($Contents);$Contents gzcompress($Contents,$level);$Contents substr($Contents, 0, strlen($Contents) - 4);print $Contents;print pack(\V\,$Crc);print pack(\V\,$Size);exit;}else{ob_end_flush();exit;}}?转载于:https://www.cnblogs.com/simadi/p/3156371.html
http://www.huolong8.cn/news/295450/

相关文章:

  • 嘉兴营销型网站我们是设计师 网站建设专家
  • 网站建设找 三尾狐苏州网站建设费用
  • php做网站架构图推广普通话手抄报内容大全
  • 为什么做彩票网站会被提示危险南通网站开发公司
  • 哪个网站做免费广告好网站包装推广案例
  • 怎么搞到网站免费微信网站开发
  • 网站对于企业的好处用asp做网站出现空白
  • 旅游网站哪个做的好素材网站设计模板
  • 多种网站建设网站设计与运营
  • 微网站 pc端网站开发怎么自己做网站教程
  • 个人微信公共号可以做微网站么wordpress反应
  • 网站怎么做可以合法让别人充钱中国建筑网信息网
  • 网站正在建设页面模板js做网站登录框验证码
  • 网站所有页面只显示域名网站源码是什么
  • 网站推广的渠道计算机应用技术网站开发方向
  • 网站开发师贴吧node.js可以做网站么
  • 青岛网站建设服务中心设计网站需提供什么
  • 网站建设 业务澧县网站设计
  • 上海网站建设大概多少钱费用网站建设
  • 威海建设集团招聘信息网站网站建设费1万多入什么科目
  • 如何通过网站做网上报名系统自己做网站赚钱吗
  • 网站群建设存在的问题泰安房产最新网签情况
  • 深圳做网站应该怎么做陕西省档案馆建设网站
  • 网站建设公司是干嘛的MUSIK V1.0 WORDPRESS
  • 建设银行 商户网站打不开网站优化设计公司
  • 网站怎么做速排如何让新网站
  • 企业网站源码 thinkphp国外可以用什么网站做问卷
  • p2p网贷网站建设方案网站服务器多少钱一月
  • 图片分享网站源码设计方案评价
  • 电商设计网站哪个好网页源代码修改了影响别人吗