PHP flock() 函數(shù)
完整的 PHP Filesystem 參考手冊(cè)
定義和用法
flock() 函數(shù)鎖定或釋放文件。
如果成功,該函數(shù)返回 TRUE。如果失敗,則返回 FALSE。
語(yǔ)法
參數(shù) | 描述 |
file | 必需。規(guī)定要鎖定或釋放的已打開(kāi)的文件。 |
lock | 必需。規(guī)定要使用哪種鎖定類型。 可能的值: - LOCK_SH - 共享鎖定(讀取的程序)。允許其他進(jìn)程訪問(wèn)該文件。
- LOCK_EX - 獨(dú)占鎖定(寫(xiě)入的程序)。防止其他進(jìn)程訪問(wèn)該文件。
- LOCK_UN - 釋放一個(gè)共享鎖定或獨(dú)占鎖定
- LOCK_NB - 鎖定的情況下避免阻塞其他進(jìn)程。
|
block | 可選。若設(shè)置為 1,則當(dāng)進(jìn)行鎖定時(shí)阻塞其他進(jìn)程。 |
提示和注釋
注釋:這些鎖僅在當(dāng)前的 PHP 進(jìn)程中使用。如果權(quán)限允許,其他的進(jìn)程可修改或刪除一個(gè) PHP-locked 文件。
注釋:flock() 在 Windows 下具有強(qiáng)制性。
提示:可以通過(guò) fclose() 來(lái)釋放鎖定操作,腳本執(zhí)行完成時(shí)會(huì)自動(dòng)調(diào)用。
實(shí)例
<?php
$file = fopen("test.txt","w+");
// exclusive lock
if (flock($file,LOCK_EX))
{
fwrite($file,"Write something");
// release lock
flock($file,LOCK_UN);
}
else
{
echo "Error locking file!";
}
fclose($file);
?>
完整的 PHP Filesystem 參考手冊(cè)