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

yipeiwu_com5年前PHP代码库

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《PHP网络编程技巧总结》、《php缓存技术总结》、《PHP数据结构与算法教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》及《php常见数据库操作技巧汇总

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

相关文章

php获取数组中重复数据的两种方法

(1)利用php提供的函数,array_unique和array_diff_assoc来实现 复制代码 代码如下: <?php function FetchRepeatMember...

PHP中去掉字符串首尾空格的方法

第一种方法:通过php自带的函数 <?php /* trim 去除一个字符串两端空格, rtrim 是去除一个字符串右部空格, ltrim 是去除一个字符串左部空格。 */ ?&g...

Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法

本文实例讲述了Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法。分享给大家供大家参考,具体如下: phpunit下载网站 http://www.php...

PHP 一个随机字符串生成代码

复制代码 代码如下: /************* *@l - length of random string */ function generate_rand($l){ $c= "A...

基于php双引号中访问数组元素报错的解决方法

最近在做微信公众号开发,在一个发送图文接口中,需要把数组元素拼接在XML字符串中 foreach ($itemArr as $key => $value){ $items...