文件锁的学习与使用
共享锁定(读取的程序),LOCK_SH
独占锁定(写入的程序),LOCK_EX
释放锁定(无论共享或独占),LOCK_UN
如果不希望 flock() 在锁定时堵塞,则给 lock 加上 LOCK_NB
小示例:
$file = fopen('data.txt','a+') or die('Unable to open file!');
if(flock($file,LOCK_EX | LOCK_NB)){
fwrite($file,'hello');
sleep(10);
flock($file,LOCK_UN);
}else{
echo '文件被锁定了';
}
fclose($file);