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