PHPリファレンス(逆引き)

PHPリファレンス
 
ファイルをロックする( flock() )
スポンサードリンク

ファイルをロックするには、flock()関数を使います。

flock( ファイルハンドル ,
    ロックモード ,
    [ フラグ ] )

flock()関数で、オープンしているファイルのロックをします。

ロックに成功した場合はTRUE、失敗した場合はFALSEを返します。

フラグには、TRUEを指定すると、ブロックモード、FALSEの場合は非ブロックモードとなります。(デフォルトはFALSE)
 

 ロックモードの指定内容
指定内容 説明
LOCK_SH 共有ロック。他のプロセスは、参照は出来るが変更が出来ない。
LOCK_EX 排他ロック。他のプロセスは変更、参照が出来ない。
LOCK_UN ロック解除。fclose()関数でもロックは解除される。
LOCK_NB ロック中にはflock()関数によるブロックを回避する


例1) ファイル「c:/temp/test.txt」に共有ロックを掛けて出力します。

<?php
$filename = "c:/temp/test.txt";

$handle = fopen( $filename, "w" );

flock( $hanlde, LOCK_SH); // 共有ロック

$size = fwrite( $handle, "abcdef" );

flock( $hanlde, LOCK_UN); // ロック開放

fclose($handle);
?>





スポンサード リンク


ストリームを使う( stream_context_create() )
ファイルのオープン/クローズ( fopen()、fclose() )
ファイルから1文字づつ読み込む( fgetc() )
ファイルから1行づつ読み込む( fgets() )
ファイルからフォーマットに従って読み込む( fscanf() )
ファイルの全レコードを一度に読み込む( file()、file_get_contents() )
バイナリファイルを読み込む( fread() )
ファイルに書き込む( fwrite()、fputs() )
ファイルに書き込む( file_put_contents() )
ファイルの終端を確認する( feof() )
ファイルをロックする( flock() )
CSVファイルを読み込む( fgetcsv() )
ファイルを全レコード読み込んで標準出力に出力( readfile() )
ファイルポインタ操作( fseek()、rewind()、ftell() )
一時ファイルの作成( tmpfile() )

基本API2へ
忘れっぽいエンジニアのPHPリファレンス TOPへ