chuanzhen/dmitriynyu/chunked-file-reader

类 ChunkedFileReader 帮助您在不将整个文件内容加载到 RAM 的情况下读取文本文件的内容。

1.0.0 2016-09-23 23:37 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:14:30 UTC


README

类 ChunkedFileReader 帮助您在不将整个文件内容加载到 RAM 的情况下读取文本文件的内容。它实现了 SeekableIterator 并允许您按块读取文件。

注意!

如果您有 32 位的 PHP 安装,此类将无法处理大于 2GB 的文件。请使用 64 位 PHP 并检查 PHP_INT_MAX 的值 - 这是您将能够遍历的最大字节数。有关此问题的更多详细信息,请参阅 fseek()

安装

使用 Composer 安装包或手动下载并包含文件到您的项目中。

用法

确保 ChunkedFileReader 已安装并且可用于您的命名空间。您可以使用您喜欢的任何方式遍历文件。您应该有一个能够处理和加工块数据的类。

$chunkSize = 128;
$reader = new ChunkedFileReader($path, $chunkSize);
$chunkParser = new MyCustomChunkParserThatKnowsWhatToDoWithChunks();
foreach($reader as $chunkPosition => $chunk) {
    // chunks will contain 128 bytes of data
    // in order of appearance until EOF
    $chunkParser->process($chunk)
}

开发

此包需要改进,任何贡献都受到欢迎。

许可证

MIT