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


Posted in PHP onJune 09, 2013

示例一(用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; 
} 
?>

PHP 相关文章推荐
收集的DedeCMS一些使用经验
Mar 17 PHP
在PHP中使用Sockets 从Usenet中获取文件
Jan 10 PHP
php array_search() 函数使用
Apr 13 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
php使用curl检测网页是否被百度收录的示例分享
Jan 31 PHP
php反射应用示例
Feb 25 PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 PHP
PHP开发Apache服务器配置
Jul 15 PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
Jun 06 PHP
PHP环形链表实现方法示例
Sep 15 PHP
TP5框架实现的数据库备份功能示例
Apr 05 PHP
基于PHP CURL用法的深入分析
Jun 09 #PHP
探讨PHP使用eAccelerator的API开发详解
Jun 09 #PHP
windows环境下php配置memcache的具体操作步骤
Jun 09 #PHP
探讨捕获php错误信息方法的详解
Jun 09 #PHP
使用迭代器 遍历文件信息的详解
Jun 08 #PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 #PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 #PHP
You might like
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
浅谈php://filter的妙用
2019/03/05 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
JavaScript创建一个object对象并操作对象属性的用法
2015/03/23 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
js提取中文拼音首字母的封装工具类
2018/03/12 Javascript
Vuex中的State使用介绍
2019/01/19 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
Weblogc domain问题
2014/01/27 面试题
网站设计师的岗位职责
2013/11/21 职场文书
教室布置标语
2014/06/26 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
聘任书的格式及模板
2019/10/28 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis