PHP flock() 函数
PHP flock() 函数锁定或释放文件
函数原型
flock(file,lock,block)
这些锁仅在当前的 PHP 进程中使用,如果权限允许,其它的进程可修改或删除一个 PHP-locked 文件
flock() 在 Windows 下具有强制性
可以通过 fclose() 来释放锁定操作,脚本执行完成时会自动调用
参数 | 描述 |
---|---|
file | 必需。规定要锁定或释放的已打开的文件 |
lock | 必需。规定要使用哪种锁定类型。可能的值: LOCK_SH - 共享锁定(读取的程序),允许其其它程访问该文件 LOCK_EX - 独占锁定(写入的程序),防止其其它程访问该文件 LOCK_UN - 释放一个共享锁定或独占锁定 LOCK_NB - 锁定的情况下避免阻塞其它进程 |
block | 可选。若设置为 1,则当进行锁定时阻塞其它进程 |
返回值
如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。
范例
<?php $file = fopen("test.txt","w+"); // 加锁 if (flock($file,LOCK_EX)) { fwrite($file,"Write something"); // 释放锁 flock($file,LOCK_UN); }else{ echo "Error locking file!"; } fclose($file);