Heim >Backend-Entwicklung >PHP-Problem >Kann PHP Dateiinhalte löschen?
php kann den Dateiinhalt löschen: Zuerst eine PHP-Beispieldatei erstellen; dann die Datei über „fopen($path, „r+“);“ öffnen ) ) {...}“-Methode zum Löschen des Dateiinhalts.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Spezifische Fragen:
php löscht Dateiinhalte?
So löschen Sie den Inhalt einer Datei in PHP, ohne fopen($file, 'w+') zu verwenden.
Meine Anforderungen sind wie folgt: Ich möchte sicherstellen, dass der gesamte letzte Inhalt nach dem Schreiben der Datei gelöscht wird. Wenn der alte Inhalt länger ist als der neue, wird er nur abgedeckt Inhalt, es bleibt übrig, und php Das Programm muss 24 Stunden am Tag laufen und die Betriebseffizienz muss gewährleistet sein. Ich habe die Methode fopen() ausprobiert, aber festgestellt, dass beim Schließen und Öffnen von Dateiressourcen viel Zeit verschwendet wurde Ich habe die Aktivierung der Dateisperre lokal getestet und sie jedes Mal verwendet, wenn die Methode fopen() nur 5.000 Mal pro Sekunde ausgeführt wird. Wenn sie nur liest und schreibt, kann sie fast 200.000 Mal ausgeführt werden Mal pro Sekunde, daher würde ich gerne fragen, ob es andere Methoden gibt, um diesen Zweck zu erreichen.
Der Implementierungscode lautet wie folgt:
$fh = fopen($path, "r+"); if( flock($fh, LOCK_EX) ){//加写锁 $old_content=json_decode(fread($fh,filesize($path)),true); $old_content=$old_content.$new_content; ftruncate($fh,0); // 将文件截断到给定的长度 rewind($fh); // 倒回文件指针的位置 fwrite($fh,json_encode($old_content)); // @chmod($path,0644); flock($fh, LOCK_UN); //解锁 } fclose($fh);
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonKann PHP Dateiinhalte löschen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!