php自动压缩多个JS
围观: 128   讨论: 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. functioncompress($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. echoJSMin::minify(file_get_contents('test1.js').file_get_contents('test2.js'));

jsmin.php下载

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

调用方法

  1. <scripttype="text/javascript"src="<?php echo TEMPLATE_URL; ?>js.php?v=1.0"></script>
本文标签: 压缩 , js
本文链接: http://crazyus.us/js-compress.html
站长声明: 请尊重版权,转载注明出处,谢谢配合!
[查询收录] "; $.ajax({ url: url, type: 'get', dataType:'html', success: function (data){ $(obj).html(data); }, }); }); });
点击留个言 / 已有 7 条评论

    一位会折腾的高手啊!

      @土鳖哥: 过奖,菜鸟一位

    (^▽^)还真撸出来了吖

      @瑾忆: 你不是一直想要

        @老司机: 嘿嘿♪(・ω・)ノ

    js的压缩让我想到了一件事,很多js的编写并不规范,没有;分隔,压缩之后会导致不能使用的情况

      @杨小杰: 所以这个故事告诉我们写js要规范

发表评论

XML地图

网站已存活运行:310 天 , 执行: 0.13毫秒

Powered By Typecho

© 2018-2019 疯狂老司机 本模板还在开发阶段