flock()函數(shù)可以鎖定或釋放文件,成功時(shí)返回true,失敗時(shí)返回false。
bool flock ( resource $handle , int $operation [, int &$wouldblock ] )
flock()函數(shù)允許我們執(zhí)行簡(jiǎn)單的讀取器/寫入器模型,該模型幾乎可以在所有平臺(tái)上使用。
注釋:這些鎖僅在當(dāng)前的 PHP 進(jìn)程中使用。如果權(quán)限允許,其他的進(jìn)程可修改或刪除一個(gè) PHP-locked 文件。
注釋:flock() 在 Windows 下具有強(qiáng)制性。
提示:可以通過 fclose() 來釋放鎖定操作,腳本執(zhí)行完成時(shí)會(huì)自動(dòng)調(diào)用。
參數(shù) | 描述 |
---|---|
handle | 必需。指定要鎖定或釋放的已打開的文件。 |
operation | 必需。指定要使用哪種鎖定類型。 可能的值:
|
wouldblock | 可選。若設(shè)置為 1,則當(dāng)進(jìn)行鎖定時(shí)阻塞其他進(jìn)程。 |
fclock的獨(dú)占鎖LOCK_EX的使用示例:
<?php $file = fopen("/PhpProject/sample.txt", "w+"); //獨(dú)占鎖 if(flock($file, LOCK_EX)) { fwrite($file, "flock function"); // 釋放鎖 flock($file, LOCK_UN); echo $file; } else { echo "鎖定文件時(shí)出錯(cuò)!"; } fclose($file); ?>