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生成文件
Jan 15 PHP
PHP读取MySQL数据代码
Jun 05 PHP
认识并使用PHP超级全局变量
Jan 26 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
php版微信小店API二次开发及使用示例
Nov 12 PHP
php实现基于PDO的预处理示例
Mar 28 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
PHP命名空间(namespace)原理与用法详解
Dec 11 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制作动态随机验证码
2015/02/12 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
解析javascript 实用函数的使用详解
2013/05/10 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
python的几种开发工具介绍
2007/03/07 Python
跟老齐学Python之永远强大的函数
2014/09/14 Python
Python实现选择排序
2017/06/04 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
python的继承知识点总结
2018/12/10 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
商务日语毕业生自荐信范文
2013/11/14 职场文书
村抢险救灾方案
2014/05/09 职场文书
学校安全责任书范本
2014/07/23 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
python可视化大屏库big_screen示例详解
2021/11/23 Python
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers