php基于ob_start(ob_gzhandler)实现网页压缩功能的方法


Posted in PHP onFebruary 18, 2017

本文实例讲述了php基于ob_start('ob_gzhandler')实现网页压缩功能的方法。分享给大家供大家参考,具体如下:

PHP生成网页后传送给浏览器显示 ,页面的打开速度除了与用户的网速有关,往往也跟页面的大小有很关系,我们可以从网 页大小着手,以提高网页的响应速度。

下面的代码是一个压缩网页的例子,我们利用ob_gzip函数,使用ob_start将输出内容压缩后放到“缓冲区”后再输出 。

PHP代码

//启用压缩
if(function_exists('ob_gzip'))
{
 ob_start('ob_gzip');
}
//准备一些待压缩的内容
for($i=0; $i<100; $i++)
{
 echo('这里是测试内容 <br>');
}
//输出压缩成果
ob_end_flush();
//这是ob_gzip压缩函数
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基于ob_start(ob_gzhandler)实现网页压缩功能的方法

压缩后:

php基于ob_start(ob_gzhandler)实现网页压缩功能的方法

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
一个简单的PHP&amp;MYSQL留言板源码
Jul 19 PHP
php实现的在线人员函数库
Apr 09 PHP
php adodb操作mysql数据库
Mar 19 PHP
PHP实现原比例生成缩略图的方法
Feb 03 PHP
PHP序列化/对象注入漏洞分析
Apr 18 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
Aug 12 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
May 29 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
Aug 10 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 PHP
PHP开发APP端微信支付功能
Feb 17 #PHP
php+webSoket实现聊天室示例代码(附源码)
Feb 17 #PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
Feb 17 #PHP
PHP常用的三种设计模式
Feb 17 #PHP
轻松实现php文件上传功能
Feb 17 #PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
Feb 17 #PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
Feb 17 #PHP
You might like
又一个php 分页类实现代码
2009/12/03 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
给Function做的OOP扩展
2009/05/07 Javascript
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
js中reverse函数的用法详解
2013/12/26 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
2016/06/12 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
js 计算图片内点个数的示例代码
2019/04/04 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
Python fileinput模块使用介绍
2014/11/30 Python
Python编码类型转换方法详解
2016/07/01 Python
Python连接phoenix的方法示例
2017/09/29 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
2017/11/01 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
解析python的局部变量和全局变量
2019/08/15 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
酒店管理毕业生自荐信
2013/10/24 职场文书
公共艺术专业自荐信
2014/09/01 职场文书