SplFileObject
PHP Manual

SplFileObject::flock

(PHP 5 >= 5.1.0)

SplFileObject::flockエハーラ、ハ・ユ・。・、・�愠テ・ッ、ヤ、ヲ

タ篶タ

public bool SplFileObject::flock ( int $operation [, int &$wouldblock ] )

flock() 、ネニア、クエハーラ、ハハ�ヒ。、ヌ・ユ・。・、・�愠テ・ッ、筅キ、ッ、マ・愠テ・ッイ�ケ、�」

・ム・鬣癸シ・ソ

operation

operation 、マシ。、ホ、、、コ、�ォ、ヌ、ケ:

  • カヲヘュ・愠テ・ッ (ニノ、゚シ�) 、ヒ、ケ、�ヒ、マ LOCK_SH。」
  • ヌモツセ・愠テ・ッ (スュシ�) 、ヒ、ケ、�ヒ、マ LOCK_EX。」
  • (カヲヘュ、筅キ、ッ、マヌモツセ) ・愠テ・ッ、�ケ、�ヒ、マ LOCK_UN。」
  • ・愠テ・ッテ讀ヒ・ヨ・愠テ・ッ、キ、ハ、、、隍ヲ、ヒ、ケ、�ヒ、マ LOCK_NB (Windows 、ヌ、マ・オ・ン。シ・ネ、オ、�゙、サ、�)。」

wouldblock

・愠テ・ッ、ャ・ヨ・愠テ・ッ、オ、���� (errno 、ャ EWOULDBLOCK 、ヌ、「、�)。「TRUE 、ヒ・サ・テ・ネ、キ、゙、ケ。」

ハヨ、�ヘ

タョクキ、ソセ�遉ヒ TRUE 、「シコヌヤ、キ、ソセ�遉ヒ FALSE 、ヨ、キ、゙、ケ。」

ホ�

ホ�1 SplFileObject::flock() 、ホホ�

<?php
$file 
= new SplFileObject("/tmp/lock.txt""w");
if (
$file->flock(LOCK_EX)) { // ヌモツセ・愠テ・ッ、ヤ、ヲ
    
$file->ftruncate(0);     // ・ユ・。・、・�ン、皃�
    
$file->fwrite("、ウ、ウ、ヌイソ、ォ、ュスミ、キ、゙、ケ\n");
    
$file->flock(LOCK_UN);   // ・愠テ・ッ、�ケ、�    
} else {
    echo 
"・愠テ・ッ、霹タ、ヌ、ュ、゙、サ、ヌ、キ、ソ。ェ";
}
?>

サイケヘ


SplFileObject
PHP Manual