PHP カウンタコアルーチンに関するメモ

| | コメント(0) | トラックバック(0)

set_file_buffer($fp, 0);

//書き込みバッファを0にする。
通常、ファイルの書き込みには、バッファと呼ばれるところに一時的に書き込み、ある程度溜まったところで、ファイルに書き込むという動作をするので、バッファにある値と実際のファイルの値が異なる瞬間が存在する。


flock($fp, int operation);

//汎用ファイルをロックする。
operationを指定することにより、ロックすることもできる。


$fp = @fopen("/tmp/counter", "r+");
// ファイルがなかった場合、ファイルを作る。
if( !$fp ) {
    $fp = fopen("/tmp/counter", "w");
}

// バッファとファイルの差異を0にする。
set_file_buffer($fp, 0);

//ファイルを排他ロック
flock($fp, LOCK_EX);
//ファイルポインタを先頭へ
rewind($fp);
$buf = fgets($fp, 1000000);
if( !$buf ) {
     $buf = 1;
} else {
     $buf++;
}
//ファイルポインタを先頭へ
rewind($fp);
fputs($fp, $buf);
//ロック解除
flock($fp, LOCK_UN);
fclose($fp);

参照・引用:スタックアスタリスク

トラックバック(0)

このブログ記事を参照しているブログ一覧: PHP カウンタコアルーチンに関するメモ

このブログ記事に対するトラックバックURL: http://pulltab.info/mt-tb.cgi/308

コメントする

BROADCASTing

うにくろっく

pulltaBlogParts ばーじょんべーた

ごめんなさい無断転載しております。 引用元忘れました。まずい場合はご連絡ください。直ちに取り消します。

このブログ記事について

このページは、YOが2008年8月30日 12:19に書いたブログ記事です。

ひとつ前のブログ記事は「google map API使い方メモ」です。

次のブログ記事は「ActionScript メモ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.1

2008年11月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30