PHP实现linux下tail命令功能

发现很久没更新博客了,前几天写了个微信爬虫,但是想要实时查看爬虫的情况,所以爬虫会把记录写到一个文件里面。
如果是在linux shell直接用 tail -f 命令就可以实时查看更新了。但是每次都要ssh登录,觉得还是太麻烦。
干脆用PHP写个tail功能的脚本,然后再用 ajax请求 php文件 获取文件最后几行,这样就可以直接在浏览器上面实现 linux命令行里面tail功能了。 那么直接上代码吧
PHP部分:


function tail($filename, $n = 10){
    $file = fopen($filename,'r');
    fseek($file, $n*1024*-1,SEEK_END);
    while ($line = fgets($file)){
        $lines[] = trim($line);
    }
    return array_slice($lines, -$n);
}

echo json_encode(tail('log.txt'));  //log.txt 读取的文件

脚本读取文件最后 n行*1024 个字节,避免文件过大。兼容性没做得很好,基本上还是很简单,可以根据需要在改。