php文件锁用法详解

php出现文件锁与mysql表锁有大概想的用法,就是同一时间只能让一个人操作,这样就避免了同时有多个人操作同一文件,这样导致数据丢失的情况了,下面我来给大家介绍php文件锁用法。

php自带了文件锁函数:
bool flock ( int $handle , int $operation [, int &$wouldblock ] )
$handle 是打开的文件指针;
$operation 可以是
“lock_sh”,共享锁定;“lock_ex”,独占锁定;“lock_un”,释放锁定;“lock_nb”,防止flock锁定时堵塞。
这里主要说说“lock_ex”和“lock_nb”。

比如我们有两个文件,如下。

flocka.php

代码如下

$file = ‘temp.txt’;
$fp = fopen($file,’a’);

for($i = 0;$i < 5;$i++) { fwrite($fp, "11111111n"); sleep(1); } fclose($fp);

flockb.php

代码如下

Posted in 未分类