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输出控制功能在简繁体转换中的应用
Oct 09 PHP
用函数读出数据表内容放入二维数组
Oct 09 PHP
php minixml详解
Jul 19 PHP
php懒人函数 自动添加数据
Jun 28 PHP
PHP实现读取一个1G的文件大小
Aug 24 PHP
PHP生成Gif图片验证码
Oct 27 PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 PHP
php模拟post上传图片实现代码
Jun 24 PHP
如何离线执行php任务
Feb 21 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
php学习笔记之mb_strstr的基本使用
Feb 03 PHP
php 可变函数使用小结
Jun 12 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
我常用的几个类
2006/10/09 PHP
php文件包含的几种方式总结
2019/09/19 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
jquery 简短几句代码实现给元素动态添加及获取提示信息
2011/09/01 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
Angular的$http与$location
2016/12/26 Javascript
Node.js中的http请求客户端示例(request client)
2017/05/04 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
javaScript字符串工具类StringUtils详解
2017/12/08 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
Golang与python线程详解及简单实例
2017/04/27 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
python 实现音频叠加的示例
2020/10/29 Python
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
大学学年自我鉴定
2013/10/28 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
纪念一二九运动演讲稿
2014/09/16 职场文书
司机岗位职责范本
2015/04/10 职场文书
导游词之山东红叶谷
2019/10/31 职场文书