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 '文件已锁定';
}
php
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!