PHPのserialize/unserializeの注意。このAPIはstringだけを受けつける。つまりローカルファイルにデータを保管しておきたい場合、serializeは
$tmp=serialize($var); if($f=fopen($filename, 'w')){ fwrite($f, $tmp, strlen($tmp)); }
unserializeは
$var=unserialize(join('', file($filename)));
ということになる。このjoinを忘れたりするとダメ。file(“filename”)はarrayを返すのです。
あと、highlight_file()は1文字ずつ出力するらしく、(たぶん)mod_deflateと相性が悪いようだ。
ob_start(); highlight_file("filename"); ob_end_flush();
とすることが必要になる。