flock()函数可以锁定或释放文件,成功时返回true,失败时返回false。
bool flock ( resource $handle , int $operation [, int &$wouldblock ] )
flock()函数允许我们执行简单的读取器/写入器模型,该模型几乎可以在所有平台上使用。
注释:这些锁仅在当前的 PHP 进程中使用。如果权限允许,其他的进程可修改或删除一个 PHP-locked 文件。
注释:flock() 在 Windows 下具有强制性。
提示:可以通过 fclose() 来释放锁定操作,脚本执行完成时会自动调用。
参数 | 描述 |
---|---|
handle | 必需。指定要锁定或释放的已打开的文件。 |
operation | 必需。指定要使用哪种锁定类型。 可能的值:
|
wouldblock | 可选。若设置为 1,则当进行锁定时阻塞其他进程。 |
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); ?>