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