提问人:Josh Mayer 提问时间:11/16/2014 更新时间:11/16/2014 访问量:614
在 PHP 中读取文件时我应该使用 flock 吗?
Should I use flock when reading a file in PHP?
问:
好的,所以我是PHP的新手,书中的例子表明,当我在php中写入文件时,我应该在打开文件后使用flock($fp, LOCK_EX),然后在关闭文件之前使用flock($fp, LOCK_UN)。喜欢这个:
$fp = fopen("$DOCUMENT_ROOT/order.txt", 'ab');
flock($fp, LOCK_EX);
fwrite($fp, $outputstring, strlent($outputstring));
flock ($fp, LOCK_UN);
fclose($fp);
但是在另一个如何读取文件的例子中,我不确定作者是否忘记放置 flock() 或者读取文件时没有必要放置 flock()。示例如下:
$fp = fopen("$DOCUMENT_ROOT/order.txt", 'rb');
while (!feof($fp))
{
$order = fgets($fp, 999)
echo $order."<br/>";
}
fclose($fp);
那么我应该把flock()放在第二个例子中吗?
先谢谢你。
答:
2赞
DanielGibbs
11/16/2014
#1
只有当有多个进程同时访问该文件时,才需要使用它。flock
如果写入文件的代码在任何时候都只有一个副本运行,那么您可能不需要使用 .但是,如果多个进程可能尝试同时运行代码(从而访问文件),则应确保它们一次运行一个。flock
flock
上一个:a+ 和 fopen() 的模式
评论