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 相关文章推荐
Gregarius中文日期格式问题解决办法
Apr 22 PHP
php in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 PHP
php文件上传表单摘自drupal的代码
Feb 15 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
php开启openssl的方法
May 15 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
Apr 04 PHP
thinkphp的dump函数无输出实例代码
Nov 15 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
php判断IP地址是否在多个IP段内
Aug 18 PHP
php使用Swoole实现毫秒级定时任务的方法
Sep 04 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实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
2014/05/10 PHP
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
CI框架实现框架前后端分离的方法详解
2016/12/30 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
详解springmvc 接收json对象的两种方式
2016/12/06 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
python 反向输出字符串的方法
2018/07/16 Python
python的中异常处理机制
2018/08/30 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
python操作链表的示例代码
2020/09/27 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
总裁办公室主任职责
2014/01/02 职场文书
优秀团员个人事迹材料
2014/01/29 职场文书
致跳高运动员加油稿
2014/02/12 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
民政局个人整改措施
2014/09/24 职场文书
大学生入党群众意见书
2015/06/02 职场文书
贷款工资证明范本
2015/06/12 职场文书
2016十一国庆节感言
2015/12/09 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书