Heim >Backend-Entwicklung >PHP-Tutorial >php Ich habe fwrite() verwendet, um eine Datei zu schreiben. Warum hat sich der Inhalt der Datei vollständig geändert?

php Ich habe fwrite() verwendet, um eine Datei zu schreiben. Warum hat sich der Inhalt der Datei vollständig geändert?

WBOY
WBOYOriginal
2016-08-29 08:50:541452Durchsuche

Ich habe fwrite() zum Schreiben einer Datei verwendet. Warum hat sich der Dateiinhalt vollständig geändert?
Der ursprüngliche Inhalt der Datei 2.txt war

<code>★★★★★★★★★★★★</code>

Dann habe ich das folgende Skript ausgeführt:

<code>$res = fopen( "R:/2.txt"  ,"r+" );
fwrite( $res , "r" );
fclose( $res );</code>

Das Ergebnis 2.txt wurde:

<code>r铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩?</code>

Entschuldigung, was ist los? Wie kann ich das beheben?

Antwortinhalt:

Ich habe fwrite() zum Schreiben einer Datei verwendet. Warum hat sich der Dateiinhalt vollständig geändert?
Der ursprüngliche Inhalt der Datei 2.txt war

<code>★★★★★★★★★★★★</code>

Dann habe ich das folgende Skript ausgeführt:

<code>$res = fopen( "R:/2.txt"  ,"r+" );
fwrite( $res , "r" );
fclose( $res );</code>

Das Ergebnis 2.txt wurde:

<code>r铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩铩?</code>

Entschuldigung, was ist los? Wie kann ich das beheben?

Da dieses Pentagramm mehr als ein Byte pro Zeichen belegt, haben Sie r geschrieben, um das erste Byte abzudecken, wodurch alle nachfolgenden Zeichen zerstört werden, da die verbleibenden Bytes des ersten Zeichens und des zweiten Zeichens Das erste Byte von kann geschrieben werden in eine gültige Kodierung umgewandelt.
Wenn Sie die Datei kürzen möchten, sollten Sie nach dem Schreiben ftruncate ausführen.

Möchten Sie Inhalte hinzufügen?

http://php.net/manual/en/func...
Wenn a als fopen-Öffnungsmethode ausgewählt wird, wird es angehängt.

Keine Änderung nötig, ja, es ist nur so, dass der Redakteur fälschlicherweise die Kodierung des Dokuments erkannt hat. . .

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn