如何使用fopen
覆盖文本$data = 'HHHHHHHHHHHHHHH';
$data2 = 'JJJJJJJJJJJJJJ';
$F = fopen('tbbbb.txt','w');
fwrite($F,$data);
fwrite($F,$data2);
fclose($F);
我想要输出
“JJJJJJJJJJJJJJ”
文件中的
答案 0 :(得分:1)
您可以使用fseek()
功能:
fwrite($F,$data);
fseek($F, 0);
fwrite($F,$data2);
答案 1 :(得分:1)
使用rewind
返回文件的开头。
fwrite($F,$data);
rewind($F);
fwrite($F,$data2);
生成的文件内容为:
JJJJJJJJJJJJJJH
因为覆盖文件的开头并不能替换它之后的内容。你可以打电话:
ftruncate($F, count($data2));
设置文件长度。
答案 2 :(得分:0)
fwrite
将始终写入光标位置的位置,并将光标导航到下一行。因此,当您编写第一个字符串时,它将写入第一行并将光标导航到下一行。 SO当前光标位置在第二行。因此,如果要覆盖特定行,则必须seek
到该行。
fseek($F, <byte_position>);
fwrite($F, <string>);
答案 3 :(得分:-1)
file_put_contents('file.txt', $data);
echo file_get_contents('file.txt'); // HHHHHHHHHHHHHHH
file_put_contents('file.txt', $data2);
echo file_get_contents('file.txt'); // JJJJJJJJJJJJJJ