PHP实例教程:Output Control输出函数(6)_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP实例教程:Output Control输出函数(6)

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:输出函数实例教程
黑客防线网安网讯:  Example6.加快传输    -----------------------------------------------------------------------------------------------------------    <?    /*    **Title........
  Example6.加快传输
  
  -----------------------------------------------------------------------------------------------------------
  
  <?
  
  /*
  
  **Title.........:PHP4HTTPCompressionSpeedsuptheWeb
  
  **Version.......:1.20
  
  **Author........:catoc<[email]catoc@163.net[/email]>
  
  **Filename......:gzdoc.php
  
  **Lastchanged..:18/10/2000
  
  **Requirments...:PHP4>=4.0.1
  
  **PHPwasconfiguredwith--with-zlib[=DIR]
  
  **Notes.........:DynamicContentAccelerationcompresses
  
  **thedatatransmissiondataonthefly
  
  **codebysunjinhu(catoc)<[email]catoc@163.net[/email]>
  
  **Mostnewerbrowserssince1998/1999have
  
  **beenequippedtosupporttheHTTP1.1
  
  **standardknownas"content-encoding."
  
  **Essentiallythebrowserindicatestothe
  
  **serverthatitcanaccept"contentencoding"
  
  **andiftheserveriscapableitwillthen
  
  **compressthedataandtransmitit.The
  
  **browserdecompressesitandthenrenders
  
  **thepage.
  
  **
  
  **ModifiedbyJohnLim([email]jlim@natsoft.com.my[/email])
  
  **basedonideasbySandyMcArthur,Jr
  
  **Usage........:
  
  **Nospacebeforethebeginningofthefirst'<?'tag.
  
  **------------Startoffile----------
  
  **|<?
  
  **|include('gzdoc.php');
  
  **|?>
  
  **|<HTML>
  
  **|...thepage...
  
  **|</HTML>
  
  **|<?
  
  **|gzdocout();
  
  **|?>
  
  **-------------Endoffile-----------
  
  */
  
  ob_start();
  
  ob_implicit_flush(0);
  
  functionCheckCanGzip(){
  
  global$HTTP_ACCEPT_ENCODING;
  
  if(headers_sent()||connection_timeout()||connection_aborted()){
  
  return0;
  
  }
  
  if(strpos($HTTP_ACCEPT_ENCODING,'x-gzip')!==false)return"x-gzip";
  
  if(strpos($HTTP_ACCEPT_ENCODING,'gzip')!==false)return"gzip";
  
  return0;
  
  }
  
  /*$level=compressionlevel0-9,0=none,9=max*/
  
  functionGzDocOut($level=1,$debug=0){
  
  $ENCODING=CheckCanGzip();
  
  if($ENCODING){
  
  print"n<!--Usecompress$ENCODING-->n";
  
  $Contents=ob_get_contents();
  
  ob_end_clean();
  
  if($debug){
  
  $s="<p>Notcompresslength:".strlen($Contents);
  
  $s.="
  
  Compressedlength:".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;
  
  printpack('V',$Crc);
  
  printpack('V',$Size);
  
  exit;
  
  }else{
  
  ob_end_flush();
  
  exit;
  
  }
  
  }
  
  ?>
  
  -----------------------------------------------------------------------------------------------------------
  
  这是catoc的一段很早以前的代码是在weblogs.com看到的他利用了zlib的函数,对传输的内容进行了压缩,测试表明,对于10k以上的页面,会产生效果,而且页面越大,效果越明显……
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17677-1.html
网站维护教程更新时间:2012-09-21 05:23:25  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer