利用flock()函數對文件進行加鎖(排它鎖),實現併發按序進行。
flock(file,lock,block)有三個參數。
file:已經打開的文件
lock:鎖的類型
(1)LOCK_SH:共享鎖(讀鎖)
(2)LOCK_EX:獨佔鎖定(排它鎖,寫鎖)
(3)LOCK_UN:解鎖
(4)LOCK_NB:如果希望在文件鎖定時阻塞進程,那麼需要加上該參數
block:設置爲true的時候,鎖定文件時,會阻止其他進程
$file = fopen('test.txt','w+'); //以只讀寫方式打開
if(flock($file,LOCK_EX)) { //先看鎖有沒有生效
fwrite($file,'i am PHP');
flock($file,LOCK_UN); //把鎖關閉
}else{
echo 'noyhing';
}
fclose($file);