19 Stimmen

Leeren einer Datei mit php

Mögliches Duplikat:
PHP: Gibt es einen Befehl, mit dem man den Inhalt einer Datei löschen kann, ohne sie zu öffnen?

Wie leert man eine .txt-Datei auf einem Server mit einem php-Befehl?

59voto

Artefacto Punkte 93200

Hier ist ein Weg, um nur zu leeren, wenn es bereits vorhanden ist und das hat nicht das Problem der Verwendung von file_exists da die Datei zwischen dem ersten und dem zweiten Tag nicht mehr existieren kann. file_exists Aufruf und die fopen anrufen.

$f = @fopen("filename.txt", "r+");
if ($f !== false) {
    ftruncate($f, 0);
    fclose($f);
}

31voto

Dan Grossman Punkte 50597

Schreiben Sie eine leere Zeichenkette als Inhalt von filename.txt :

file_put_contents('filename.txt', '');

24voto

riha Punkte 2250
$fh = fopen('filename.txt','w'); // Open and truncate the file
fclose($fh);

Oder in einer Zeile und ohne Speicherung des (temporären) Dateihandles:

fclose(fopen('filename.txt','w'));

Wie bereits erwähnt, wird damit die Datei erstellt, falls sie nicht existiert.

3voto

Ferdinand Beyer Punkte 61121

Öffnen Sie es einfach zum Schreiben:

if (file_exists($path)) {     // Make sure we don't create the file
    $fp = fopen($path, 'w');  // Sets the file size to zero bytes
    fclose($fp);
}

2voto

BlueDog Punkte 946

Löschen Sie sie zunächst mit unlink() und erstellen Sie dann einfach eine neue leere Datei mit demselben Namen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X