Latest web development tutorials

PHP flock() 函數

PHP Filesystem 參考手冊 完整的PHP Filesystem參考手冊

定義和用法

flock() 函數鎖定或釋放文件。

如果成功,該函數返回TRUE。 如果失敗,則返回FALSE。

語法

flock(file,lock,block)

参数 描述
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 參考手冊 完整的PHP Filesystem參考手冊