2

fwriteで書き込まれているテキストファイルがあります。このテキストファイルのすべての内容を削除して、新しく書き込むことができるようにするにはどうすればよいですか。別の関数を見つけようとしましたが、うまくいきませんでした。

私が使用しているサンプルコード。この情報を入力する前にクリアしたいと思います。

$string = ', {"key": "'.$info['Name'].'", "value": "'.$info['Name'].'"}';
    $fp = fopen('data_old.txt', 'a');
    fwrite($fp, $string);
    fclose($fp);
4

5 に答える 5

8

の PHP ドキュメントをfopen見ると、2 番目のパラメータで使用可能な「モード」のリストが表示されます。あなたは"a"追加を意味します。あなた"w"は「書く」ことを意味する合格したいです。

'a' 書き込み専用です。ファイルポインタをファイルの最後に置きます。ファイルが存在しない場合は、作成してみてください。

'w' 書き込み専用です。ファイルポインタをファイルの先頭に置き、ファイルの長さをゼロに切り詰めます。ファイルが存在しない場合は、作成してみてください。

于 2012-05-02T23:11:25.390 に答える
3

次のモード パラメータを変更できますfopen

$fp = fopen('data_old.txt', 'w+');

ちなみに、私はw+あなたがそれから読みたい場合にも使用しwました.

于 2012-05-02T23:11:08.613 に答える
1

fopen の a オプションの代わりに w オプションを使用します。

fopen('file.txt','w'); のように

これにより、ポインターはファイルの末尾ではなく先頭に置かれます

http://php.net/manual/en/function.fopen.php

于 2012-05-02T23:11:57.150 に答える
0

既存のファイルを上書きするには、fopen で書き込み専用モードを使用します。これにより、ファイルが書き込み用に開かれ、ポイントがファイルの先頭に設定され、ファイルの長さが 0 に切り捨てられます。

$string = ', {"key": "'.$info['Name'].'", "value": "'.$info['Name'].'"}';
$fp = fopen('data_old.txt', 'w');
fwrite($fp, $string);
fclose($fp);
于 2012-05-02T23:13:46.070 に答える