PHPのserialize/unserialize、その他のメモ
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();
とすることが必要になる。