保存超过 8kb(80 行)的文本文件 fwrite php

save text file more then 8kb (80 lines) fwrite php

我正在尝试在删除第一行后重写 result.txt 文件,该文件总共有 7000 行 (700 kb) 大小。

只需打开文件,删除第一行,然后再次保存。

但是 fwrite 函数只为我保存了 80 行 (8kb)。并自动删除剩余的行。

$outfile= "result.txt";
$o = fopen($outfile,"w");
while (!feof($handle)) {
    $buffer = fgets($handle,2048);
    fwrite($o,$buffer);
}
fclose($handle);
fclose($o);
rename($outfile, 'result.txt');

如何用fwrite写入大文件?

通过将 w 替换为 c+

解决了问题

现在代码如下所示

$outfile= "result.txt";
$o = fopen($outfile,"c+");
while (!feof($handle)) {
    $buffer = fgets($handle,2048);
    fwrite($o,$buffer);
}
fclose($handle);
fclose($o);
rename($outfile,$file);