您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

压缩你的PHP、JS、CSS等文本类型代码

来源:未知 责任编辑:责任编辑 发表时间:2015-03-01 01:34 点击:

众所周知,减小代码在传输中的大小,就能提高页面的传输速度,打开网页也就快 了,这是基于带宽瓶颈的理论,当然服务器速度受到其他很多因素的影响, 有PHP代码执行速度,数据库访问速度,磁盘读写IO速度等,无论怎样,带宽影响是非常大,而受中国电信抑或是中国网通还有其他的一些电信公司的制约,在 服务器网络带宽并不很充裕的条件下,压缩代码传输将会大大节省带宽!

本文讲述通过使用Gzip压缩方式自动压缩相应的代码,在访问者浏览器端会自动还原成代码以便浏览器执行,至于编写代码时的良好风格节省空间的方法不在本文之列。

GZIP 最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在 LINUX中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常 使用GZIP压缩技术来让用户感受更快的速度。

首先测试一下你的网站各个页面是否采用了Gzip压缩,这里有个测试工具

目前,有两种主流方法实现Gzip压缩。
一、mod_deflate模块

mod_deflate 模块提供了DEFLATE输出过滤器,允许服务器在将输出内容发送到客户端以前进行压缩(应该也是采用gzip数据格式压缩,deflate是一种压缩算 法)以节约带宽。Apache 1.3.x时代使用mod_gzip模块来实现,Apache2已经内置了mod_deflate模块。

这种方法要求安装了Apache的http服务器软件,并且加载了deflate模块。

使用方法:

在网页发布目录的.htaccess文件中加入:

  1. <ifmodule mod_deflate.c>
  2. AddOutputFilter DEFLATE html htm xml php js css
  3. </ifmodule>

这样就会使得Apache在发布html,xml,php,js,css这样的文件时会采用Gzip方式传输数据,这个方法简单,一劳永逸,但一般使用的虚拟主机并没有安装deflate模块,也不一定是Apache的,不过我们还有办法:

二、ob_gzhandler函数
主机要求:支持PHP,PHP版本在4.0.4以上,安装有zlib库

对于PHP文件传输中压缩,只需在原来的 PHP 文件首行加上


 
<?php if(extension_loaded(‘zlib‘)){ob_start(‘ob_gzhandler‘);}?>
并且在结尾加上
 
<?php if(extension_loaded(‘zlib‘)){ob_end_flush();}?>
复制时还原为正规的PHP格式。
 
对于js文件,则在原来js文件的首行加上
 
<?php if(extension_loaded(‘zlib‘)){ob_start(‘ob_gzhandler‘);} header(“Content-Type: text/javascript“); ?>

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • PHP测试
  • 查找数组中指定键名的值
  • 使用xmlhttp为网站增加域名查询功能
  • 几种显示数据的方法的比较
  • 十天学会php之第六天
  • PHP+MYSQL+Javascript数据库查询结果的动态显示
  • 用redis实现跨服务器session
  • smarty局部缓存技术[源码分析]
  • 用新浪微博接口发送图片微博失败的原因
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索 - 移动版 - 返回顶部
Copyright © 2008-2013 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1