使用 PHP 快速合并多个 CSS 和 JavaScript 文件

使用 PHP 快速合并多个 CSS 和 JavaScript 文件
如果你制作的项目中需要引入大量的 CSS 和 JS 文件,会导致多个请求拖慢加载的速度,而且不利于管理。

使用一个简单的 PHP 文件就能将它们合并到一起,而且管理起来非常方便。

CSS 合并压缩

将下边的代码保存成一个文件,然后放到存储 CSS 文件的目录:

<?php
/**
    *CSS 合并压缩
    *https://www.bgbk.org/compress-multiple-scripts/
*/
header( 'Content-type: text/css' );
foreach( glob( '*.css' ) as $file ){
    include( $file );
    echo "\n";
}

然后在引入 CSS 的时候只需要引入这一个 PHP 文件,它会自动把所在目录的所有 CSS 全部合并到一起。

JS 合并压缩

合并 JS 也是同理:

<?php
/**
    *JavaScript 合并压缩
    *https://www.bgbk.org/compress-multiple-scripts/
*/
header( 'Content-type: application/javascript' );
foreach( glob( '*.js' ) as $file ){
    include( $file );
    echo "\n";
}

不过,JavaScript 有可能会有引入顺序的要求,这样就手动引入文件来调整顺序:

<?php
/**
    *JavaScript 合并压缩
    *https://www.bgbk.org/compress-multiple-scripts/
*/
header( 'Content-type: application/javascript' );
include( 'jquery.min.js' );
include( 'jquery.ui.min.js' );
include( 'nprogress.js' );
include( 'base.js' );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
现在大量网站为了追求用户体验,使用了大量使用CSSJS文件。 而网页加载的时间大部分是消耗在资源请求部分。通过 Chrome自带调试工具,或者 Firebug 可观察到: 资源加载的等待时间经常占到总时间的 50%以上。 再比如,IE6默认只有2个下载线程!也就是说,同时只能进行2个资源请求、无论你网速有多快。 所以网页前端速度优化的一个重要项目就是:减小资源请求数。 事实上,业界有很有名气的jscss合并压缩开源程序:minify。 但悲剧的 minify 在 php5.3 , php 5.4 环境下无法使用,于是逼的我只好自己丰衣足食。 minify 比较重量级,很臃肿。它采用了将合并文件写入硬盘的方式。 本程序只是合并、压缩,直接讲合并结果发送客户端,并采用修改过期时间优化效率,最大限度减小服务器压力。 这样做法的效率就非常非常接近于 minify。 本程序碎玉压缩合并的功能俱全,但是整体及其轻量级,很容易更新、维护,二次开发。 本程序压缩后的大小大约为压缩前的 15% - 30% 左右(平均值)。推荐使用 YSlow 进行另外方面的优化。 如果您在使用中,发现任何 Bug ,请给我反馈,谢谢。 Javascript 代码压缩 网址 : http://julying.com/lab/compress-js-css/ 类型: 原创脚本 作者: 王子墨 邮箱 : i@julying.com 发布 : 2012-06-10 22:28 更新 : 2012-07-22 12:50 版权所有 2012 | julying.com 此插件遵循 MIT、GPL2、GNU 许可. 版权:Copyright (c) julying 版权所有,本程序为开源程序(开放源代码)。 http://julying.com/code/license/ 此程序会自动去除 注释,并且会对文件名进行安全检测、去重复、存在判定等操作,只允许 .js/.css 文件,并且不允许包含远程文件。 环境要求: >= PHP 5 压缩多个 js 方法: [removed] [removed] 压缩多个 CSS 方法: <link rel="stylesheet" media="all" href="http://julying.com/lab/compress-js-css/file=/lab/coffee/layerImages/layer.css,/lab/coffee/css/main.css"> </link> / 建议查看可看 《Yahoo工程师的前端优化建议--英文原版》. 如果英文阅读不是很流畅,请查看翻译版本: 《Yahoo工程师的前端优化建议-- 中文翻译版》 《Yahoo工程师的前端优化建议-- 中文翻译版》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值