CSS optimizer. For optimizing CSS files and to decrease data transfer.
HotScript @ RoŲnašn index for more scripts and extensions.
Run this script as an example.
<?php
/**********************************************************************
* (c)2004 RoŲnašn
* This file servers as index.php for a dir containing css stylesheet
* files. In order to activate the cache you should redirect all calls
* to your stylesheets through this file.
* ie: <link rel="stylesheet" href="css/global.css" />
* becomes
*     <link rel="stylesheet" href="css/?global" />
*
* Note: To increase bandwidth reduction, do not add the .css
* extension and use '/?' instead of '/index.php?'
*
* The optimized file will be stores as filename.cch (Ccs caCHe)
*
* Your original css-files will not be tampered and maintain as readable
* as you programmed it to be.
*
* On each call file updates to filename.css will be noticed and
* filename.cch shall be reconstructed. When filename.cch is up
* to date, this file will be passed thru directly.
*
* Note: As you might discover, this file needs to have file creation
*       rights and file writing rights in order to create and maintain
*       the optimized file.
**********************************************************************/
$s  $_SERVER['QUERY_STRING'];
$f1 dirname(__FILE__).'/'.$s.'.css';
$f2 dirname(__FILE__).'/'.$s.'.cch';
if(
is_file($f1))
{
  
$d1 filemtime($f1);
  
$d2 filemtime($f2);
  if(
$d2 $d1)
  {
    function 
css_opt($d)
    {
      
$d str_replace("\n",'',$d);
      
$d str_replace("\r",'',$d);
      
$d str_replace("\t",'',$d);
      
$d ereg_replace('[ ]+',' ',$d);
      
$d str_replace(': ',':'$d);
      
$d str_replace('; ',';'$d);
      
$d str_replace(', ',','$d);
      
$d str_replace(' :',':'$d);
      
$d str_replace(' ;',';'$d);
      
$d str_replace(' ,',','$d);
      
$d color_opt($d);
      return 
$d;
    }
    function 
color_opt($d)
    {
      
$c = array('000000' => 'black',
                 
'ffffff' => 'white',
                 
'ff0000' => 'red',
                 
'0000ff' => 'blue',
                );
      foreach(
$c as $l => $s)
        
$d eregi_replace('#'.$l$s$d);
      return 
$d;
    }
    function 
css_file_opt($f1$f2)
    {
      
$d implode(''file($f1));
      
$d css_opt($d);
      
$f fopen($f2'w');
      
fwrite($f$d);
      
fclose($f);
    }
    
css_file_opt($f1$f2);
  }
}
if(
is_file($f2))
  include(
$f2);
elseif(
is_file($f1))
  include(
$f1);
else
  echo 
'Please specify css file to optimize';
?>