PHP flock() 函數
完整的 PHP Filesystem 參考手冊
定義和用法
flock() 函數鎖定或釋放文件。
如果成功,該函數返回 TRUE。如果失敗,則返回 FALSE。
語法
參數 | 描述 |
file | 必需。規定要鎖定或釋放的已打開的文件。 |
lock | 必需。規定要使用哪種鎖定類型。 可能的值: - LOCK_SH - 共享鎖定(讀取的程序)。允許其他進程訪問該文件。
- LOCK_EX - 獨占鎖定(寫入的程序)。防止其他進程訪問該文件。
- LOCK_UN - 釋放一個共享鎖定或獨占鎖定
- LOCK_NB - 鎖定的情況下避免阻塞其他進程。
|
block | 可選。若設置為 1,則當進行鎖定時阻塞其他進程。 |
提示和注釋
注釋:這些鎖僅在當前的 PHP 進程中使用。如果權限允許,其他的進程可修改或刪除一個 PHP-locked 文件。
注釋:flock() 在 Windows 下具有強制性。
提示:可以通過 fclose() 來釋放鎖定操作,腳本執行完成時會自動調用。
實例
<?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 參考手冊