Gelloiss Asked:2020-04-02 18:29:58 +0000 UTC2020-04-02 18:29:58 +0000 UTC 2020-04-02 18:29:58 +0000 UTC php 读取并删除文件的第一行而不将其加载到内存中 772 有必要从文件中读取第一行并删除它而不将文件加载到内存中,因为 它的重量超过 20GB。如何实施? php 1 个回答 Voted Best Answer Gelloiss 2020-04-02T18:48:23Z2020-04-02T18:48:23Z 如果文件中的行是唯一的,我编写了一个变体,这适用于我的情况。但这并不是完全正确的答案。如果有人给出正确答案,我会很高兴。 <?php $fileName = 'c:\php\test.txt'; $fd = fopen($fileName, 'a+'); $str = fgets($fd); var_dump($str); $tm = fopen($tmpname = $fileName.'_temp', 'w+'); while (($line = fgets($fd)) !== false) { if($str == $line) continue; fwrite($tm, $line); } fclose($fd); fclose($tm); rename($tmpname, $fileName);
如果文件中的行是唯一的,我编写了一个变体,这适用于我的情况。但这并不是完全正确的答案。如果有人给出正确答案,我会很高兴。