阻塞模式

此模式下会等待文件锁释放后继续执行。

<?php
    $fp = fopen("lock.txt", "w+");
    if(flock($fp, LOCK_EX)) {
        //所需执行的代码
        flock($fp, LOCK_UN);
    }
    fclose($fp);
?>

非阻塞模式

此模式下会直接跳过所需执行的任务。

<?php
    $fp = fopen("lock.txt", "w+");
    if(flock($fp, LOCK_EX | LOCK_NB)) {
        //所需执行的代码
        flock($fp, LOCK_UN);
    } else {
        echo "系统繁忙,请稍后再试";
    }
    fclose($fp);
?>