Heim >Backend-Entwicklung >PHP-Problem >Wie lösche ich alle Dateien in einem Verzeichnis in PHP?

Wie lösche ich alle Dateien in einem Verzeichnis in PHP?

青灯夜游
青灯夜游Original
2020-11-05 14:08:593001Durchsuche

So löschen Sie alle Dateien in einem Verzeichnis in PHP: Verwenden Sie zuerst die Funktion scandir(), um alle Dateien in einem Verzeichnis zu durchlaufen und ein Array zurückzugeben. Verwenden Sie dann foreach, um das Array zu durchlaufen, und verwenden Sie unlink() und rmdir( )-Funktionen in foreach zum Löschen der Dateien im Verzeichnis. Alle Unterverzeichnisse und Dateien reichen aus.

Wie lösche ich alle Dateien in einem Verzeichnis in PHP?

Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Einführung in die Programmierung! !

php löscht alle Dateien in einem Verzeichnis

Verwenden Sie PHP, um alle Verzeichnisse und Dateien in einem Verzeichnis zu durchlaufen und alle Unterverzeichnisse und Dateien im Verzeichnis und seinem Verzeichnis zu löschen. Dieser Code wird rekursiv implementiert.

Hauptsächlich verwendete Funktionen:

  • scandir($path) durchläuft alle Dateien in einem Verzeichnis und gibt ein Array zurück.

  • unlink($filename) löscht die Datei.

  • rmdir($path) löscht nur leere Ordner.

PHP-Code:

/**
 * 删除当前目录及其目录下的所有目录和文件
 * @param string $path 待删除的目录
 * @note  $path路径结尾不要有斜杠/(例如:正确[$path='./static/image'],错误[$path='./static/image/'])
 */
function deleteDir($path) {

    if (is_dir($path)) {
        //扫描一个目录内的所有目录和文件并返回数组
        $dirs = scandir($path);

        foreach ($dirs as $dir) {
            //排除目录中的当前目录(.)和上一级目录(..)
            if ($dir != '.' && $dir != '..') {
                //如果是目录则递归子目录,继续操作
                $sonDir = $path.'/'.$dir;
                if (is_dir($sonDir)) {
                    //递归删除
                    deleteDir($sonDir);

                    //目录内的子目录和文件删除后删除空目录
                    @rmdir($sonDir);
                } else {

                    //如果是文件直接删除
                    @unlink($sonDir);
                }
            }
        }
        @rmdir($path);
    }
}

Weitere Programmierkenntnisse finden Sie unter: Einführung in die Programmierung! !

Das obige ist der detaillierte Inhalt vonWie lösche ich alle Dateien in einem Verzeichnis 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