Minimising the time a user has to wait for a web page to load is crucial. Using Gzip and PHP we can minimise file sizes of CSS files. This technique is a powerful and simple way to reduce page download size and speed up your site that will work with most PHP installations, even those on shared hosting that don’t have mod_deflate turned on in their Apache configuration.
Just add the code below at the top of your page. You then need to change the links to point to your CSS files.
if(extension_loaded('zlib')){
ob_start('ob_gzhandler');
}
header ("content-type: text/css; charset: UTF-8");
header ("cache-control: must-revalidate");
$offset = 60 * 60;
$expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
header ($expire);
ob_start("compress");
function compress($buffer) {
// remove comments
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
return $buffer;
}
// list CSS files or JS to be included in the Gzip
include('global.css');
include('style.css');
if(extension_loaded('zlib')){
ob_end_flush();
}
Pingback: Enable Gzip in .htaccess with mod_deflate | Sevenpixels Web Design
Did you by any chance test this script for caching??? It’s not working on text/css files
Designer and web developer, Co-founder and Technical Director at Harkable.com London. Previously I worked at InMobi, Spotify and MySpace. Interests include photography and making short videos. Also an avid F1 fan.
Follow us on Twitter and get in-stream updates.
Subscribe to all the Papermashup tutorials and articles straight to your RSS reader.
Sign up and get all the Papermashup tutorials straight to your inbox.
3 discussions around Use PHP to Gzip CSS files