語(yǔ)法格式如下:
flock(resource $handle, int $operation[, int &$wouldblock])
a.$handle
:文件系統(tǒng)指針,即使用 fopen()
創(chuàng)建的文件資源;
b.$operation
:文件鎖類型,可以是以下值之一:
-
LOCK_SH 取得共享鎖定(讀取的程序);
-
LOCK_EX 取得獨(dú)占鎖定(寫入的程序);
-
LOCK_UN 釋放鎖定(無論共享或獨(dú)占);
-
如果不希望 flock() 在鎖定時(shí)堵塞,則可以在 $operation 中添加 LOCK_NB 參數(shù)(Windows 上還不支持)。
c.$wouldblock
:可選參數(shù),如果希望文件鎖定時(shí)堵塞其它進(jìn)程,則可以將該參數(shù)設(shè)置為 1
或 true
。(Windows 上不支持)。
PS: 使用 flock()
函數(shù)不僅可以為文件加鎖,好可以解鎖文件。
示例:
<?php $file = fopen('./test.txt','w+'); if(flock($file, LOCK_EX|LOCK_NB)) { fwrite($file, 'PHP中文網(wǎng)'.date('Y-m-d H:i:s', time())); flock($file, LOCK_UN); }else{ echo "string"; } fclose($file); ?>
運(yùn)行結(jié)果:
在test.txt
文件中寫入
PHP中文網(wǎng)2021-03-23 09:09:31
推薦:《php視頻教程》《 php教程》