我正在锁定文件但是当我阅读它们时我不能,我的代码......
// ACQUIRE READ LOCK
if(flock($file, LOCK_SH)) {
// READ HASHES FILE
if($contents = file('haasdas.txt')) {
// RELEASE READ LOCK
flock($file, LOCK_UN);
} else {
echo 'errrrrrorzzzer';
}
}
这里发生了什么?
答案 0 :(得分:0)
正如docs提到的那样,flock()
不是在文件名上,而是在文件描述符上:
$fd=fopen($filename,'rb');
while (!flock($fd,LOCK_SH)) usleep(500);
$fs=fstat($fd);
$contents=fread($fd,$fs['size']);
flock($fd,LOCK_UN);
fclose($fd);
错误处理留给读者练习......