用 PHP GZIP 压缩 javascripts
上一篇 /
下一篇 2007-11-15 05:06:40
/ 个人分类:php
最近正在做的一个程序用了 extjs 实现客户端 UI ,但是 EXTJS 实在是太大了,500k左右的大小在第一次打开时显得特别慢,因此研究用 gzip 来压缩 js 文件,这样传输过程就能减少数据流量, google 了以下,看到有这样一篇文章:
摘录一下这篇文章的代码
<?php
// check to see if the user has enabled gzip compression in the WordPress admin panel
if ( ob_get_length() === FALSE and ! ini_get('zlib.output_compression') and ini_get('output_handler') != 'ob_gzhandler' and ini_get('output_handler') != 'mb_output_handler' ) {
ob_start('ob_gzhandler');
}
// The headers below tell the browser to cache the file and also tell the browser it is Javascrīpt.
header("Cache-Control: public");
header("Pragma: cache");
$offset = 60*60*24*60;
$ExpStr = "Expires: ".gmdate("D, d M Y H:i:s",time() + $offset)." GMT";
$LmStr = "Last-Modified: ".gmdate("D, d M Y H:i:s",filemtime(__FILE__))." GMT";
header($ExpStr);
header($LmStr);
header('Content-Type: text/javascrīpt; charset: UTF-8');
?>
|
看这篇文章的原理,是将这段代码加入到每个js文件的前面来实现压缩的,但是当js文件太多的时候,就相当累了,改进一下,将上面的文件保存成一个单独的 php 文件(例如 fetchjs.php),当需要引用某一个js的时候可以这样。
http://www.xxx.com/fetchjs.php?scrīpt=file.js
当然还需要对 fetchjs.php 做点完善。最简单就是在后面加上
readfile($_REQUEST['scrīpt']);
更复杂一些自然是需要处理一下js 文件的路径、是否存在等常规检查等工作了。
先写这么多吧。
相关阅读:
- PHP再获巨头支持甲骨文向开源社区捐献OCIB (joejoe0332, 2007-10-18)
- 热点透视:微软为什么会帮PHP的忙? (joejoe0332, 2007-10-19)
- Zend Framework视频教程(1) (gg1st_cn, 2007-10-22)
- 大多数人没有注意到的php的15个很酷的特性(翻译) (yayoo, 2007-10-22)
- 对数组逆向排序 (spider, 2007-10-23)
- 本程序完善---Gbook功能性模块开发完成 (spider, 2007-10-23)
- php获取客户端IP地址的几种方法 (spider, 2007-10-23)
- 著名的开源脚本语言:PHP 5.2.5发布 (walkerxk, 2007-11-11)
- 编程乱码问题初步探索 (cs.zhiwei, 2007-11-13)
- 编程乱码问题初步探索 (cs.zhiwei, 2007-11-13)
导入论坛
收藏
分享给好友
管理
举报
TAG: