页面压缩gzip的运用

huaxiaoen250

huaxiaoen250

2016-01-29 13:37

页面压缩gzip的运用,页面压缩gzip的运用

http1.1支持gzip编码的数据,所以,通过GZIP来实现页面压缩。在PHP中,我所知道的有两种方法使用GZIP,一种是PHP自带的,不过,要你所用的服务器支持才行!还有一种,呵呵,从网上搜索来的,在这儿就献给大家了。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

<?php 
ob_start();//打开输出缓冲 
ob_implicit_flush(0);// 
//*****************************************************************// 
//函数名:canGzip() 
//作用:检查客户浏览器是否支持gzip,x-gzip编码 
//参数: 
//返回值:支持的编码类型"gzip", "x-gzip", 返回false代表不支持 
//*****************************************************************// 
function canGzip() 

//if (headers_sent() || connection_status) 
//return false; 
 
if (strpos('King'.$_SERVER["HTTP_ACCEPT_ENCODING"], 'gzip') !== false) 
return "gzip"; 
 
if (strpos('King'.$_SERVER["HTTP_ACCEPT_ENCODING"], 'x-gzip') !== false) 
return "x-gzip"; 
 
return false; 

 
//*****************************************************************// 
//函数名:doGzipOut($level, $debug) 
//作用:对输出缓冲的数据进行压缩并输出 
//参数:$level代表压缩级别, 0 = 不压缩, 9 = 最大压缩率 
// $debug代表是否输出调试信息, 1 = 输出, 0 = 不输出 
//返回值: 
//*****************************************************************// 
function doGzipOut($level = 1, $debug = 0) 

$ENCODING = canGzip(); 
if ($ENCODING) 

echo "n<!-- Use compress $ENCODING --n"; 
$contents = ob_get_contents(); 
ob_end_clean(); 
 
if ($debug) 

$s = "<pNot compress length: ".strlen($contents); 
$s .= "<br/Compressed length: ".strlen(gzcompress($contents,$level)); 
$contents .= $s; 

 
header("Content-Encoding: $ENCODING"); 
echo "x1fx8bx08x00x00x00x00x00"; //??? 
$size = strlen($contents); 
$crc = crc32($contents); 
$contents = gzcompress($contents, $level); 
$contents = substr($contents, 0, strlen($contents) - 4); //??? 
echo $contents; 
echo pack('V',$crc); 
echo pack('V',$size); 
exit; 

else 

ob_end_flush(); 
exit(); 


?
 使用方法: ------------Start of file----------
|< ?
| include('gzipOut.php');
|?
|<HTML
|... the page ...
|</HTML
|< ?
| echo "............"
|
| doGzipout();
|?
-------------End of file-----------

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

展开更多 50%)
分享

猜你喜欢

页面压缩gzip的运用

PHP
页面压缩gzip的运用

用GZip压缩和解压

Web开发
用GZip压缩和解压

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux压缩工具gzip和pigz哪个比较好?

电脑入门
Linux压缩工具gzip和pigz哪个比较好?

如何运用长焦段镜头营造压缩感

摄影 人像摄影 静物摄影
如何运用长焦段镜头营造压缩感

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

WEB页面工具语言XML应用分类之运用

Web开发
WEB页面工具语言XML应用分类之运用

怎么样运用ADO來压缩或修复Microsoft Access文件

编程语言 网络编程
怎么样运用ADO來压缩或修复Microsoft Access文件

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

C#编程让Outlook乖乖交出帐户密码

C#编程让Outlook乖乖交出帐户密码

开发大型php项目的方法

开发大型php项目的方法
下拉加载更多内容 ↓