首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP中观看文件写入?

如何在PHP中观看文件写入?
EN

Stack Overflow用户
提问于 2009-07-09 06:55:08
回答 6查看 25.5K关注 0票数 16

我想用PHP做尾部命令之类的动作,但是怎样才能把手表追加到文件里呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-07-09 07:27:54

我不相信有什么神奇的方法可以做到。您只需不断轮询文件大小并输出任何新数据。这实际上非常简单,唯一需要注意的是文件大小和其他统计数据被缓存在php中。此问题的解决方案是在输出任何数据之前调用clearstatcache()

下面是一个快速示例,其中不包括任何错误处理:

function follow($file)
{
    $size = 0;
    while (true) {
        clearstatcache();
        $currentSize = filesize($file);
        if ($size == $currentSize) {
            usleep(100);
            continue;
        }

        $fh = fopen($file, "r");
        fseek($fh, $size);

        while ($d = fgets($fh)) {
            echo $d;
        }

        fclose($fh);
        $size = $currentSize;
    }
}

follow("file.txt");
票数 24
EN

Stack Overflow用户

发布于 2013-01-05 04:31:06

$handle = popen("tail -f /var/log/your_file.log 2>&1", 'r');
while(!feof($handle)) {
    $buffer = fgets($handle);
    echo "$buffer\n";
    flush();
}
pclose($handle);
票数 11
EN

Stack Overflow用户

发布于 2012-12-11 20:52:54

查看php-tail on Google code。它是用PHP和Javascript实现的两个文件,在我的测试中几乎没有什么开销。

它甚至支持使用grep关键字进行过滤(对于每秒输出帧速率等的ffmpeg非常有用)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1102229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档