Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lösche ich das aktuelle Verzeichnis und alle Dateien darunter in PHP? (Code)

Wie lösche ich das aktuelle Verzeichnis und alle Dateien darunter in PHP? (Code)

不言
不言nach vorne
2019-02-27 09:37:072041Durchsuche

In diesem Artikel geht es darum, wie man das aktuelle Verzeichnis und alle darin enthaltenen Dateien in PHP löscht. (Code), es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Verwenden Sie PHP, um alle Verzeichnisse und Dateien unter einem Verzeichnis zu durchlaufen und das Verzeichnis sowie alle Unterverzeichnisse und Dateien unter dem Verzeichnis zu löschen. Dieser Code wird rekursiv implementiert.

Verwendete Funktion:

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);
    }
}

Das obige ist der detaillierte Inhalt vonWie lösche ich das aktuelle Verzeichnis und alle Dateien darunter in PHP? (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen