首页 > 解决方案 > 保存文本文件超过 8kb(80 行) 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 写大文件?

标签: phpfwrite

解决方案


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);

推荐阅读