desipa/tail

此软件包已被废弃且不再维护。没有推荐替代包。

用于轮询文本文件以检测变化的库。

dev-master 2014-08-28 06:40 UTC

This package is not auto-updated.

Last update: 2019-09-11 17:42:14 UTC


README

#Tail

这是一个简单的库,用于轮询文本文件以检测变化。类似于老式的 tail。但是没有 inotify 支持,不过它会每0.5秒检查一次文件大小变化。如果这对您来说足够快,这是一个非常简单的解决方案。

##如何使用

安装

$ composer require desipa/tail:dev-master

初始部分

$tail = new \Desipa\Tail(__DIR__ . '/save.json');
$tail
    ->addFile('file1.txt')
    ->addFile('file2.txt')
    ->addFile('file3.txt')
;

按行 tail 的示例

$tail->listenForLines(function($filename, $line) {
    print "$filename - $line\n";
});

按更新 tail 的示例

$tail->listen(function($filename, $chunk) {

    foreach (explode("\n", $chunk) as $text) {
        $text = trim($text);
        if (empty($text)) {
            continue;
        }

        print "$filename - $text\n";
    }

});

##待办事项

  • 为代码编写注释和 doc-blocks。
  • 编写单元测试。
  • 将等待时间设置为变量。