gpt4 book ai didi

PHP:如何实时读取不断写入的文件

转载 作者:行者123 更新时间:2023-12-02 16:16:33 27 4
gpt4 key购买 nike

我想读取一个不断写入的日志文件。它与应用程序驻留在同一服务器上。问题是文件每隔几秒就会写入一次,我基本上想实时tail应用程序上的文件。

这可能吗?

最佳答案

你需要循环 sleep :

$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);
}
}

(经过测试..它有效)

关于PHP:如何实时读取不断写入的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3218895/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com