所谓的压缩,无非就是把换行空格等符号替换为空
css
代码语言:javascript复制<?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文件下的 ./test.css
include('第二个CSS文件'); //复制调用更多css文件 ./test1.css
ob_end_flush(); //浏览器打开,输出压缩后的内容
?>
js
代码语言: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(); //输出压缩后的内容
}
?>