保存超过 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);
我正在尝试在删除第一行后重写 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);