利用PHP把所有的CSS JS 处理压缩成一个文件输出
CSS
<?php
header('Content-type: text/css');
ob_start("compress");
function compress($buffer) {
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
$buffer = str_replace(array("
", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
return $buffer;
}
include('第一个CSS文件'); //例如当前PHP文件下的 ./main.js
include('第二个CSS文件'); //复制调用更多JS文件
ob_end_flush(); //输出压缩后的内容
?>
改一下文件路径即可使用
前端链接css就直接链接PHP文件
<link rel="stylesheet" type="text/css" href="处理CSS的PHP文件"/>
JavaScript
<?php
error_reporting(E_ALL & ~E_NOTICE);
if(extension_loaded('zlib')){
ob_start('ob_gzhandler');
}
header ("content-type:application/x-javascript; charset: UTF-8");
header ("cache-control: must-revalidate");
$offset = 60 * 60 * 24; //js文件的距离现在的过期时间,这里设置为一天
$expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
header ($expire);
ob_start("compress");
function compress($buffer) {
$buffer = preg_replace('/\/\/.*/','', $buffer);
$buffer = str_replace(array("
", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
return $buffer;
}
include('js文件一'); //例如当前PHP文件下的main.js
include('js文件二'); //复制调用更多JS文件
if(extension_loaded('zlib')){
ob_end_flush(); //输出压缩后的内容
}
?>
同理修改文件即可
<script src="处理JS的PHP文件" type="text/javascript" charset="utf-8"></script>
压缩之后速度会快很多