Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich in PHP Text sicher an eine Datei anhängen?

Wie kann ich in PHP Text sicher an eine Datei anhängen?

Susan Sarandon
Freigeben: 2024-11-01 16:59:02
Original
480 Leute haben es durchsucht

How to Safely Append Text to a File in PHP?

So erstellen oder hängen Sie Text an eine Datei an

Sie versuchen, eine Textdatei namens „logs.txt“ zu erstellen oder an sie anzuhängen. jedes Mal, wenn sich ein Benutzer auf Ihrer Website an- oder abmeldet. Allerdings treten in Ihrem aktuellen Code Probleme beim Anhängen von Daten oder beim Erstellen der Datei auf, wenn diese nicht vorhanden ist.

Ihr Originalcode verwendet den „wr“-Modus zum Öffnen der Datei, der sie zum Schreiben öffnet und abschneidet Datei auf die Länge Null bringen. Um Daten anzuhängen, sollten Sie stattdessen den „a“-Modus verwenden, der die Datei zum Schreiben und Anhängen an das Ende der Datei öffnet.

Außerdem ist Ihr Code anfällig für Race Conditions, wenn mehrere Benutzer versuchen, darauf zuzugreifen die Datei gleichzeitig. Um dies zu verhindern, können Sie das Flag LOCK_EX in Verbindung mit FILE_APPEND verwenden. Dadurch wird eine exklusive Sperre für die Datei aktiviert, sodass jeweils nur ein Prozess darauf schreiben kann.

Hier ist eine verbesserte Version Ihres Codes, die diese Probleme behebt:

<code class="php">$txt = "user id date";
$myfile = file_put_contents('logs.txt', $txt.PHP_EOL, FILE_APPEND | LOCK_EX);</code>
Nach dem Login kopieren

Dieser Code erstellt oder öffnet die Datei „logs.txt“ im Anhängemodus und stellt so sicher, dass die neuen Daten am Ende der Datei angehängt werden. Außerdem erhält die Datei während des Schreibens eine exklusive Sperre, wodurch verhindert wird, dass mehrere Benutzer gleichzeitig in die Datei schreiben.

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP Text sicher an eine Datei anhängen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage