PHP 用生成器读取大文件

示例

生成器的一个常见用例是从磁盘读取文件并遍历其内容。下面是一个类,可让您遍历CSV文件。此脚本的内存使用情况非常可预测,不会随CSV文件的大小而波动。

<?php

class CsvReader

{

    protected $file;

 

    public function __construct($filePath) {

        $this->file = fopen($filePath, 'r');

    }

 

    public function rows()

    {

        while (!feof($this->file)) {

            $row = fgetcsv($this->file, 4096);

            

            yield $row;

        }

        

        return;

    }

}

 

$csv = new CsvReader('/path/to/huge/csv/file.csv');

foreach ($csv->rows() as $row) {

    // 对CSV行进行操作。

}

           

以上是 PHP 用生成器读取大文件 的全部内容, 来源链接: utcz.com/z/326235.html

回到顶部