我正在尝试使用 flock() 函数阻止文件以避免覆盖错误,但计数器经常重置(可能是因为读取问题)。
numeri.txt(计数器)
4895|533753
frame.php(PHP 文件)
$filename="numeri.txt";
$contents=file_get_contents($filename);
if(($fp=@fopen($filename,'w'))!==false)
{
if(flock($fp,LOCK_EX))
{
$contents=explode("|",$contents);
$clicks=$contents[0];
$impressions=$contents[1]+1;
fwrite($fp,$clicks."|".$impressions);
flock($fp,LOCK_UN);
}
fclose($fp);
}
有时计数器返回“|1”而不是“4895|533754”。
我该如何解决?