369 Stimmen

Löschen aller Dateien aus einem Ordner mit PHP?

Ich hatte zum Beispiel einen Ordner mit dem Namen "Temp" und wollte alle Dateien aus diesem Ordner mit PHP löschen oder leeren. Kann ich das tun?

1voto

MAChitgarha Punkte 2673

Ich habe ein wirklich einfaches Paket namens "Pusheh" erstellt. Mit ihm kann man ein Verzeichnis löschen oder ein Verzeichnis komplett entfernen ( Github-Link ). Erhältlich bei Packagist , auch.

Wenn Sie zum Beispiel Folgendes löschen möchten Temp Verzeichnis, können Sie tun:

Pusheh::clearDir("Temp");

// Or you can remove the directory completely
Pusheh::removeDirRecursively("Temp");

Wenn Sie daran interessiert sind, sehen Sie unter das wiki .

0voto

Inventor Bala Punkte 460

Dies ist eine einfache und gute Lösung. Probieren Sie diesen Code aus.

array_map('unlink', array_filter((array) array_merge(glob("folder_name/*"))));

0voto

tzi Punkte 7779

Ich habe die Antwort von @Stichoza aktualisiert, um Dateien über Unterordner zu entfernen.

function glob_recursive($pattern, $flags = 0) {
    $fileList = glob($pattern, $flags);
    foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir) {
        $subPattern = $dir.'/'.basename($pattern);
        $subFileList = glob_recursive($subPattern, $flags);
        $fileList = array_merge($fileList, $subFileList);
    }
    return $fileList;
}

function glob_recursive_unlink($pattern, $flags = 0) {
    array_map('unlink', glob_recursive($pattern, $flags));
}

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