【发布时间】:2014-03-21 05:50:05
【问题描述】:
我需要读取一个一直在变化的文件。只有文件,并且永远只有一行会一直变化。
我在这里找到了应该做我想做的事情的以下代码:PHP: How to read a file live that is constantly being written to
但是代码不起作用,页面一直在加载,我尝试像一位用户建议的那样添加“刷新”,但我仍然无法使其工作。
这是代码
$file='/home/user/youfile.txt';
$lastpos = 0;
while (true) {
usleep(300000); //0.3 s
clearstatcache(false, $file);
$len = filesize($file);
if ($len < $lastpos) {
//file deleted or reset
$lastpos = $len;
}
elseif ($len > $lastpos) {
$f = fopen($file, "rb");
if ($f === false)
die();
fseek($f, $lastpos);
while (!feof($f)) {
$buffer = fread($f, 4096);
echo $buffer;
flush();
}
$lastpos = ftell($f);
fclose($f);
}
}
请有人看看,让我知道如何解决它。 提前致谢。
【问题讨论】:
-
你有检查文件路径和权限吗?
-
@LLL 是的文件具有正确的权限 - 。 -rwxrwxrwx 1 个用户 www-data
-
尝试调试您的代码,看看采用了哪条路线..
-
抱歉这里有点菜鸟。调试......如何?
标签: php