PHP 用生成器读取大文件
本文向大家介绍PHP 用生成器读取大文件,包括了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行进行操作。 }