PHP flock 文件锁的使用问题
加上 LOCK_NB 后可以通过函数的返回值来判断文件是否锁定,并执行锁定时执行的内容,如果在阻塞时想要有提示,可以使用这个,或者使用第三个参数,也是同样的功能 。不过这个文件锁会受到不同系统中不同的文件结构影响,所以建议不要使用,而是使用数据库中的锁
$handle = fopen('./1.txt', 'r');
$res = flock($handle, LOCK_EX | LOCK_NB, $block);
if ($res) {
echo fread($handle, filesize('./1.txt'));
sleep(3);
flock($handle, LOCK_UN);
fclose($handle);
} else {
echo '文件已锁定';
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: