YUI-CSS-compressor-PHP で CSS を最適化(圧縮・縮小)

CSS

以前、YUI Compressor を使ったら、

url('data:image/~'); 

という形式の style があった場合に、
一部の URL が、上手く変換できてないバグに遭遇し、
YUI Compressor の使用を諦めたのだが、

その時、使用したのが、バージョン2.4.8-3
しかし、最新のバージョン2.4.8-4 を使ってみたら
バグが解消されてた。

なので、めでたく YUI Compressor を使うことにした。

単純に最適化(圧縮)するだけなら、
YUI Compressor から cssmin.php
をダウンロードしてきて、

$file_org = "./style.css"        // 圧縮前のCSSファイル
$file_min = "./style.min.css"    // 圧縮後のCSSファイル

@require_once( "./cssmin.php" );

// オリジナルのCSSファイル読み込み
$css = file_get_contents( $file_org );

// CSS 圧縮
if( class_exists('CSSmin') ) {
    $minify = new CSSmin();
    if( method_exists( $minify, "run" ) ) {
        $css = trim( $minify->run( $css ) );
    }
}

// 圧縮後のCSSファイル保存
if( !touch ( $file_min ) ) {
    die( "create file error" );
}
if( !( $filePointer = fopen ( $file_min, "c") ) ) {
    die ( "file open Error" );
}
flock( $filePointer, LOCK_EX );
fputs( $filePointer, $css );
flock( $filePointer, LOCK_UN );

みたいな感じで OK

これなら使える (・∀・)