Bạn có thể tận dụng tốt nhất từ cả hai thế giới, thu nhỏ tệp tại thời điểm thực hiện và gzip đầu ra.
Tệp nguồn vẫn có thể đọc được khi bạn cần chỉnh sửa, nhưng nó được nén khi bạn tải xuống
đầu tiên: sử dụng htaccess để nói với apache để xử lý tất cả các tệp css dưới dạng tập lệnh php và để nén đầu ra khi nhập văn bản / css
trong .htaccess AddHandler php5-cgi .css AddType text / css .css AddOutputFilterByType DEFLATE text / css
Thứ hai: sử dụng bộ đệm đầu ra với chức năng gọi lại để thu nhỏ mã css trước khi bắt đầu tải xuống, đồng thời đặt thời gian hết hạn để tệp được lưu vào bộ đệm
trong tập tin css của bạn
<?php
ob_start("trima");
header("Content-type: text/css; charset=utf-8");
ob_start();
date_default_timezone_set('GMT');
$lasmod = "Last-Modified: " . strftime ("%a, %d %b %Y %T GMT", filemtime (__FILE__));
Header($lastmod);
$offset = 3600*24*30*12;
$expire = "Expires: " . date("D, d M Y H:i:s", time() + $offset) . " GMT";
Header($expire);
function trima($str) {
$str = str_replace(array("\n", "\r", "\t", "\o", "\xOB"), '', $str); // remueve enter tabs y demas
$str = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $str); // remueve comentarioa
$str = ereg_replace("[ ]+", " ", $str); //remueve espacios multiples
$rep = array( '{ '=>'{', ' }'=>'}', '; '=>';', ', '=>',', ' {'=>'{', '} '=>'}', ': '=>':', ' ,'=>',', ' ;'=>';' ); // remueve espacios inecesarios
$str = strtr($str, $rep);
return $str;
}
?>
css content here
Thứ ba: lợi nhuận?