php自动压缩多个JS
围观: 170   讨论: 7

  php自动压缩多个JS [复制链接]

11月份都没更新了
今天就凑个数吧
上次讲了自动压缩css
这次就介绍自动压缩js
第一种方法跟上次差不多
只是表达式不一样而已
这种方法也可以压缩html的
我就不讲了
第二种方法利用jsmin类进行的
我是使用第二种的
你们就自己选个适合自己的
好了废话不多说,看操作

第一种GZIP压缩方式,新建js.php

  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. if(extension_loaded('zlib')){//检查服务器是否开启了zlib拓展
  4. ob_start('ob_gzhandler');
  5. }
  6. header ("content-type:application/x-javascript; charset: gb2312"); //注意如果乱码请修改为你的编码
  7. header ("cache-control: must-revalidate");
  8. $offset = 60 * 60 * 24; //js文件的距离现在的过期时间,这里设置为一天
  9. $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
  10. header ($expire);
  11. ob_start("compress");
  12. function compress($buffer) {
  13. //去除文件中的注释
  14. $buffer = preg_replace('/\/\/.*/','', $buffer);
  15. //去除文件换行,空格的注释
  16. $buffer = str_replace(array("
  17. ", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
  18. return $buffer;
  19. }
  20. //包含你的全部js文档
  21. include('js/test1.js');
  22. include('js/test2.js');
  23. if(extension_loaded('zlib')){
  24. ob_end_flush(); //输出buffer中的内容,即压缩后的js文件
  25. }

第二种利用jsmin类,新建js.php

  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. header('Content-type: text/javascript');
  4. require 'jsmin.php';//调用jsmin类
  5. //file_get_content('压缩js文件')
  6. echo JSMin::minify(file_get_contents('test1.js').file_get_contents('test2.js'));

jsmin.php下载

Jsmin.php类
说明:放到当前你的主题目录

调用方法

  1. <script type="text/javascript" src="<?php echo TEMPLATE_URL; ?>js.php?v=1.0" ></script>
本文标签: JS 压缩
本文链接: https://crazyus.us/js-compress.html
站长声明: 请尊重版权,转载注明出处,谢谢配合!
[查询收录]

既然来了就留个言吧

发表评论

取消 请打勾哦
js的压缩让我想到了一件事,很多js的编写并不规范,没有;分隔,压缩之后会导致不能使用的情况
@杨小杰: 所以这个故事告诉我们写js要规范
(*^▽^*)还真撸出来了吖
@瑾忆: 你不是一直想要
@老司机: 嘿嘿♪(・ω・)ノ
一位会折腾的高手啊!
@土鳖哥: 过奖,菜鸟一位

手机版|Sitemap

网站已存活运行:271 天 , 执行: 1.82毫秒

Powered By Emlog

© 2017~2018 疯狂老司机™ 本模板还在开发阶段