PHP开发实例大全(提高卷) 中文完整pdf扫描版[244MB]
<?php
$files = array(
'../javascript/jquery.easing.js'
,'../templates/castlesblog/template.js'
);
$modified = 0;
foreach($files as $file) {
$age = filemtime($file);
if($age > $modified) {
$modified = $age;
}
}
$offset = 60 * 60 * 24 * 7; // Cache for 1 weeks
header ('Expires: ' . gmdate ("D, d M Y H:i:s", time() + $offset) . ' GMT');
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $modified) {
header("HTTP/1.0 304 Not Modified");
header ('Cache-Control:');
} else {
header ('Cache-Control: max-age=' . $offset);
header ('Content-type: text/javascript; charset=UTF-8');
header ('Pragma:');
header ("Last-Modified: ".gmdate("D, d M Y H:i:s", $modified )." GMT");
function compress($buffer) {
/* remove comments */
$buffer = preg_replace("/((?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:\/\/.*))/", "", $buffer);
/* remove tabs, spaces, newlines, etc. */
$buffer = str_replace(array("\r\n","\r","\t","\n",' ',' ',' '), '', $buffer);
/* remove other spaces before/after ) */
$buffer = preg_replace(array('(( )+\))','(\)( )+)'), ')', $buffer);
return $buffer;
}
ob_start('ob_gzhandler');
foreach($files as $file) {
if(strpos(basename($file),'.min.')===false) { //compress files that aren't minified
ob_start("compress");
include($file);
ob_end_flush();
} else {
include($file);
}
}
ob_end_flush();
}
css压缩的方法<?php
$files = array(
'../templates/castlesblog/template.css'
);
$modified = 0;
foreach($files as $file) {
$age = filemtime($file);
if($age > $modified) {
$modified = $age;
}
}
$offset = 60 * 60 * 24 * 7; // Cache for 1 weeks
header ('Expires: ' . gmdate ("D, d M Y H:i:s", time() + $offset) . ' GMT');
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $modified) {
header("HTTP/1.0 304 Not Modified");
header ('Cache-Control:');
} else {
header ('Cache-Control: max-age=' . $offset);
header ('Content-type: text/css; charset=UTF-8');
header ('Pragma:');
header ("Last-Modified: ".gmdate("D, d M Y H:i:s", $modified )." GMT");
function compress($buffer) {
/* remove comments */
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
/* remove tabs, spaces, newlines, etc. */
$buffer = str_replace(array("\r\n","\r","\n","\t",' ',' ',' '), '', $buffer);
/* remove other spaces before/after ; */
$buffer = preg_replace(array('(( )+{)','({( )+)'), '{', $buffer);
$buffer = preg_replace(array('(( )+})','(}( )+)','(;( )*})'), '}', $buffer);
$buffer = preg_replace(array('(;( )+)','(( )+;)'), ';', $buffer);
return $buffer;
}
ob_start('ob_gzhandler');
foreach($files as $file) {
if(strpos(basename($file),'.min.')===false) { //compress files that aren't minified
ob_start("compress");
include($file);
ob_end_flush();
} else {
include($file);
}
}
ob_end_flush();
}
php伪静态RewriteRule ^scripts.js$ includes/scripts.php [L] RewriteRule ^styles.css$ includes/styles.php [L]
转载请注明:谷谷点程序 » php js css压缩的方法