Home Backend Development PHP Problem Example to explain how to delete a folder with php

Example to explain how to delete a folder with php

Apr 04, 2023 pm 02:29 PM

To delete a folder in PHP, usually use recursively to delete, the following are the specific steps:

  1. Open the folder and scan the subdirectory: use opendir()Open the folder and scan the files/folders using the readdir() method. While scanning, check whether each subdirectory is a folder or file and store the paths to multiple levels of subdirectories in an array.

    function deleteFolder($folderPath) {
        if (!is_dir($folderPath)) return false; // 确认路径是一个目录
        $folderIterator = new RecursiveDirectoryIterator($folderPath, RecursiveDirectoryIterator::SKIP_DOTS);
        $iterator = new RecursiveIteratorIterator($folderIterator, RecursiveIteratorIterator::CHILD_FIRST);
        foreach ($iterator as $file) {
            if ($file->isDir()){
                rmdir($file->getRealPath());
            }else{
                unlink($file->getRealPath());
            }
        }
        rmdir($folderPath);
        return true;
    }
    Copy after login
    Copy after login
  2. Recursively delete all files and folders: In step 1, multiple levels of subdirectory paths are stored. Now, iterate over the array in reverse order, since deleting subfolders of a folder must be performed first.
  3. Delete the root folder: Ultimately, just use the rmdir() function to delete the root folder.

Full code:

function deleteFolder($folderPath) {
    if (!is_dir($folderPath)) return false; // 确认路径是一个目录
    $folderIterator = new RecursiveDirectoryIterator($folderPath, RecursiveDirectoryIterator::SKIP_DOTS);
    $iterator = new RecursiveIteratorIterator($folderIterator, RecursiveIteratorIterator::CHILD_FIRST);
    foreach ($iterator as $file) {
        if ($file->isDir()){
            rmdir($file->getRealPath());
        }else{
            unlink($file->getRealPath());
        }
    }
    rmdir($folderPath);
    return true;
}
Copy after login
Copy after login

Usage example:

$folderPath = "path/to/your/folder/";
deleteFolder($folderPath);
echo "文件夹删除成功!";
Copy after login

Note: This code will directly delete the folder and all its contents without prompting for confirmation. Therefore, make sure you have backed up everything in this folder before using it.

The above is the detailed content of Example to explain how to delete a folder with php. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1660
14
PHP Tutorial
1260
29
C# Tutorial
1233
24