PHP 逐行读取并处理超大 TXT 文件
PHP 读取 超大文件需要注意内存消耗问题,本文采用 yield 生成器来解决
/**
* @return Generator
*/
$fileData = function () {
$file = fopen(__DIR__ . '/CSRA.list_.txt', 'r');
if (!$file) {
return; // die() is a bad practice, better to use return
}
while (($line = fgets($file)) !== false) {
yield $line;
}
fclose($file);
};
$data = [];
foreach ($fileData() as $line) {
}
撰写评论