php-extended/php-tail

根据环境智能跟踪文件的智能方法

7.0.7 2024-07-31 13:31 UTC

README

根据环境智能跟踪文件的智能方法

coverage build status

安装

此库的安装通过 composer 完成,所有类的自动加载都通过它们的自动加载器完成。

  • 他们的网站下载 composer.phar
  • 然后运行以下命令将此库作为依赖项安装
  • php composer.phar require php-extended/php-tail ^7

使用方法

此库的基本用法如下

use PhpExtended\Tail\Tail;
use PhpExtended\Tail\TailException;

$filename = "/../path/to/my/file.ext";
$tail = new Tail($filename);

try
{
	// 10 is the number of lines you want
	// 200 is the average number of chars on each line (optional)
	// false is to force throwing exceptions (optional, use true if you want silent mode)
	$lines = $tail->smart(10, 200, false);
}
catch(TailException $e)
{
	// do something is case it fails
}

此库提供 6 种跟踪文件的方法,具体性能取决于上下文。它们遵循相同的签名(见上面的示例代码)。

这些方法包括:

  • naive : 将整个文件加载到 php 中,然后仅保留最后几行
  • cheat : 使用底层的 Unix tail -n 函数
  • single : 使用单个字节缓冲区反向读取文件
  • simple : 使用固定大小的缓冲区反向读取文件
  • dynamic : 使用动态大小的缓冲区反向读取文件
  • smart : 尝试从这五种方法中选择最快的一种(推荐)

此库受此 特定 Stackoverflow 主题 启发。

许可

MIT(见 许可文件)。