17

fopen()如果文件存在,但当前被锁定,则会失败LOCK_EX

还是我必须打开它,然后尝试设置一个锁,以确定是否已经存在?

我也读过那份flock()遗嘱;

暂停 [脚本] 直到您无限期地获得锁定或直到您的脚本超时

http://www.php.net/manual/en/function.flock.php#95257

如果是这样,是否可以绕过这种“暂停”?

if (!flock($f, LOCK_SH | LOCK_NB)) {
    // file locked, do something else
}
4

1 回答 1

12

flock()实际上并不会阻止您读取/写入文件,它只允许您“传达”锁定其他脚本的想法。您可以使用您发布的代码段检测文件是否被锁定。

于 2010-06-30T13:21:37.040 回答