探讨如何在PHP开启gzip页面压缩实例

示例一(用php的内置压缩函数):

  

复制代码 代码如下:

  <?PHP

  if(Extension_Loaded('zlib')) Ob_Start('ob_gzhandler');

  Header("Content-type: text/html");

  ?>

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

  <title>无标题文档</title>

  </head>

  <body>

  <?php

  for($i=0;$i<10000;$i++){

  echo 'Hello World!';

  }

  ?>

  </body>

  </html>

  <?PHP

  if(Extension_Loaded('zlib')) Ob_End_Flush();

  ?>

  示例二(自写函数):

  

复制代码 代码如下:

  <?php ob_start('ob_gzip'); ?>

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

  <title>无标题文档</title>

  </head>

  <body>

  </body>

  </html>

  <?php

  ob_end_flush();

  //压缩函数

  function ob_gzip($content){

  if(!headers_sent()&&extension_loaded("zlib")&&strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")){

  $content = gzencode($content,9);

  header("Content-Encoding: gzip");

  header("Vary: Accept-Encoding");

  header("Content-Length: ".strlen($content));

  }

  return $content;

  }

  ?>