ファイルヘルパはありがちなミスを犯していた。
flock($fp, LOCK_EX);
fwrite($fp, $data);
flock($fp, LOCK_UN);
fclose($fp);
ファイルを書き込む前にロックを解除してはいけない。
ちゃんとテストすればわかるけど、これはロックの意味がなくて、
fwrite はバッファリングされるためロックを解除した段階ではまだファイルに書き込んでおらず、
ロックを解除する前に fflush を呼ぶか、あるいはロックを解除しないまま fclose で閉じて、
確実にファイルに書き込まれた後でロックを解除する必要がある。
2008年05月27日
2008年05月24日
2008年05月21日
CodeIgniter その2
携帯端末向けのセッションをどうするか色々悩んだが、結局今のところは以下のようになった。
・NG Session の実装をベースに
・日本CodeIgniterユーザ会の記事の内容を移植した
・Config.php を継承した MY_Config.php を作成して site_url をオーバーライド
・USER_AGENT は先頭50文字を記録するのではなく、先頭512文字のmd5値を保存するようにした
以下こうなった経緯など。
続きを読む
・NG Session の実装をベースに
・日本CodeIgniterユーザ会の記事の内容を移植した
・Config.php を継承した MY_Config.php を作成して site_url をオーバーライド
・USER_AGENT は先頭50文字を記録するのではなく、先頭512文字のmd5値を保存するようにした
以下こうなった経緯など。
続きを読む
2008年05月20日
CodeIgniter
最近 CodeIgniter(日本 CodeIgniter ユーザ会) を触ってみている。
PHP 向けの MVC モデルに基づいたフレームワークで、ライトウェイトなところが特徴。
以前ちょっと Mojavi などは触ったことがあったが、色々あった煩わしさを感じず好感触だった。
セッションが独自仕様だったり、GETリクエストを利用しない基本構造だったりと色々あり、
国内の場合クッキーを用いることが出来ない携帯などの環境に対しては若干相性が悪い。
それを改善するためのコードも日本 CodeIgniter ユーザ会のサイトに掲載されていたので参考になった。
続きを読む
PHP 向けの MVC モデルに基づいたフレームワークで、ライトウェイトなところが特徴。
以前ちょっと Mojavi などは触ったことがあったが、色々あった煩わしさを感じず好感触だった。
セッションが独自仕様だったり、GETリクエストを利用しない基本構造だったりと色々あり、
国内の場合クッキーを用いることが出来ない携帯などの環境に対しては若干相性が悪い。
それを改善するためのコードも日本 CodeIgniter ユーザ会のサイトに掲載されていたので参考になった。
続きを読む

