phpファイルロックの書き込み
PHP ファイルの書き込み方法、マルチスレッド書き込みを処理する:
- function file_write($file_name, $text, $mode='a', $timeout=30){
- $handle = fopen($file_name, $mode); timeout>0){
- if ( flock($handle, lock_ex) ) {
- $timeout--;
- }
- } // bbs.it-home.org
- if ( $timeout > 0 ){
- fwrite($handle, $text.'n');
- flock($handle, lock_un);
- true を返す }
-
-
- コードをコピーします。
-
-
- flock(int $handle, int $operation) 関数によって操作されるハンドルは、開いているファイル ポインターである必要があります。
-
- operation は次のいずれかの値になります。
共有ロック (プログラムの読み取り) を取得するには、operation を lock_sh に設定します (PHP 4.0.1 より前のバージョンでは 1 に設定)。
排他ロックを取得するには (プログラムの書き込み)、operation を lock_ex に設定します (PHP 4.0.1 より前のバージョンでは 2 に設定します)。
ロック (共有または排他) を解放するには、operation を lock_un に設定します (PHP 4.0.1 より前のバージョンでは 3 に設定)。
flock() がロックでブロックしないようにするには、lock_nb (PHP 4.0.1 より前のバージョンでは 4 に設定) を操作に追加します。
|