JsMin-PHP 项目地址
https://github.com/rgrove/jsmin-php
使用示例:
$js_path = './e.js';
$js_source = file_get_contents($js_path);
$minifiedJs = JSMin::minify($js_source);
echo $minifiedJs;
预想的访问请求
https://www.example.com/js??/js/e.js,/js/jquery.js,index.js
/js/index.php 文件内容
<?php
header ("Content-type:Application/x-javascript; Charset: utf-8");
define ('SITE_PATH', dirname ( __FILE__ ) );
define ('PUBLIC_PATH', SITE_PATH.'/../Public');
if(isset($_SERVER['QUERY_STRING'])) {
$jsurl = '';
if(preg_match('/^\?.*?\.(js|json)$/isU', $_SERVER['QUERY_STRING'])){
$jsurl = ltrim($_SERVER['QUERY_STRING'],'?');
}
$files = explode(",", $jsurl);
$str = '';
foreach ($files as $key => $val){
$path = PUBLIC_PATH.$val;
if(is_file($path)){
$str .= file_get_contents($path);
}
}
require 'jsmin.php';
$packed = JSMin::minify($str);
echo $packed;
}
只是简单完成基本加载合并功能,具体使用还需要进行安全过滤等。
完)