Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie Verzeichnisdateien mithilfe der rmdir-Funktion in PHP

So löschen Sie Verzeichnisdateien mithilfe der rmdir-Funktion in PHP

不言
不言Original
2019-01-10 17:48:503404Durchsuche

Die Funktion, die PHP zum Löschen eines Verzeichnisses verwenden muss, ist rmdir. Es handelt sich um eine häufig verwendete Funktion spezifische Verwendung der rmdir-Funktion.

So löschen Sie Verzeichnisdateien mithilfe der rmdir-Funktion in PHP

Sehen wir uns zunächst die grundlegende Syntax der rmdir-Funktion an

Übergeben Sie den Verzeichnisnamen (Pfad zum Verzeichnis) als Parameter.

rmdir(目录名称);

Wenn das Verzeichnis nicht gelöscht werden kann, weil kein Verzeichnis angegeben wurde, beachten Sie bitte, dass ein Fehler der Stufe e_warning auftritt.

Wenn sich außerdem Dateien oder andere Verzeichnisse in dem in rmdir angegebenen Verzeichnis befinden, kann das angegebene Verzeichnis in rmdir nicht gelöscht werden.

Beim Durchführen dieses Vorgangs müssen Sie das angegebene Verzeichnis einmal leeren und das Verzeichnis dann erneut mit rmdir löschen.

Wie verwende ich die rmdir-Funktion?

Sehen wir uns ein konkretes Beispiel an

mkdir('sample');
if (is_dir('sample')) {
    $files = array_diff(scandir('sample'), array('.','..'));
    if (empty($files)) {
        echo "删除目录:sample\n";
        rmdir('sample');
    }
}

Im Beispielprogramm verwenden Sie zunächst die mkdir-Funktion, um das Beispielverzeichnis zu erstellen.

Bevor Sie die rmdir-Funktion tatsächlich ausführen, müssen Sie „die Existenz des angegebenen Verzeichnisses“ und „ob das angegebene Verzeichnis leer ist“ prüfen.

Andernfalls kann es zu Fehlern bei der Ausführung der rmdir-Funktion kommen.

Nicht leere Verzeichnisse löschen

Wenn sich in dem in rmdir angegebenen Verzeichnis Dateien oder andere Verzeichnisse befinden, kann das angegebene Verzeichnis in rmdir nicht gelöscht werden.

Wenn Sie also ein nicht leeres Verzeichnis löschen möchten, müssen Sie alle anderen Verzeichnisse und Dateien im angegebenen Verzeichnis löschen und diese dann erneut mit der Funktion rmdir löschen.

Schauen wir uns ein konkretes Beispiel an

//
function remove_directory($dir) {
    $files = array_diff(scandir($dir), array('.','..'));
    foreach ($files as $file) {
//
        if (is_dir("$dir/$file")) {
//
            remove_directory("$dir/$file");
        } else {
//
            unlink("$dir/$file");
            echo "目录:" . $dir . "/" . $file . "删除\n";
        }
    }
//
    echo "目录:" . $dir . "删除\n";
    return rmdir($dir);
}
//
//
mkdir('test1');
mkdir('test1/test2');
touch('test1/test2/test3');
//
//
remove_directory('test1');

Im Beispielprogramm definieren wir zunächst eine Funktion namens „remove_directory“.

Diese Funktion „remove_directory“ überprüft den Inhalt des angegebenen Verzeichnisses. Wenn kein Inhalt vorhanden ist, wird das angegebene Verzeichnis gelöscht. Wenn Inhalt vorhanden ist, wird er entsprechend den Inhaltsänderungen verarbeitet.

In der dritten Zeile erhalten Sie die Dateigruppe (ein anderes Verzeichnis und eine andere Datei) im angegebenen Verzeichnis. Verwenden Sie für jede Dateigruppe in den Zeilen 4 bis 14 die Funktion zum Aufheben der Verknüpfung, um die Datei zu löschen, wenn es sich um ein Verzeichnis handelt , rufen Sie bitte die Funktion „remove_directory“ erneut auf.

Löschen Sie abschließend in Zeile 17 das angegebene Verzeichnis, das leer geworden ist, mit der Funktion rmdir.

Erstellen Sie in den Zeilen 20–23 ein nicht leeres Verzeichnis.

Zeile 26 verwendet die Funktion „remove_directory“, um nicht leere Verzeichnisse zu löschen.

Das obige ist der detaillierte Inhalt vonSo löschen Sie Verzeichnisdateien mithilfe der rmdir-Funktion in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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