Ви можете отримати найкраще з обох світів, мінімізувати файл під час виконання та gzip вихід.
Вихідний файл все ще читається, коли вам потрібно його відредагувати, але він стискається під час завантаження
по-перше: використовуйте htaccess, щоб сказати apache для обробки всіх файлів css як php-скриптів та для стиснення виводу при введенні text / css
in .htaccess AddHandler php5-cgi .css AddType text / css .css AddOutputFilterByType DEFLATE text / css
друге: використовуйте буферизацію виводу з функцією зворотного виклику, щоб мінімізувати код css до початку завантаження, також встановіть час закінчення, щоб файл отримував кешування
у вашому файлі css
<?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
Третє: прибуток?