PHP flock 檔案鎖的使用問題

海的幽靈發表於2020-03-24

加上 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 協議》,轉載必須註明作者和本文連結

相關文章