有没有办法删除CodeIgniter4中的主文件夹和它的子文件夹?

yr9zkbsy  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(161)

我想删除一个主文件夹沿着其中的所有文件和子文件夹。我尝试了一个代码块,它使用glob()迭代所有文件,然后调用rmdir()删除主文件夹,调用unlink()删除文件。但是,子文件夹不会被删除。如何修改此代码以同时删除子文件夹?
示例代码:

foreach (glob($dir . '/*') as $file) {
    if (is_dir($file)) {
        rmdir($file);
    } else {
        unlink($file);
    }
}
rmdir($dir);
b4wnujal

b4wnujal1#

当然可以!下面是代码的修改版本,它使用CodeIgniter的File Helper中的delete_files()删除主文件夹及其文件和子文件夹:

// Load the File Helper
helper('file');

// Specify the directory path
$dir = 'path/to/main/folder';

// Delete all files and subfolders recursively
foreach (glob($dir . '/*') as $file) {
    if (is_dir($file)) {
        delete_files($file, true);
    } else {
        unlink($file);
    }
}

// Delete the main folder
rmdir($dir);

在这段代码中,为foreach循环中遇到的每个子文件夹调用delete_files()函数。它递归地删除每个子文件夹中的所有文件和子文件夹。
如果遇到文件而不是子文件夹,则会像以前一样使用unlink()删除该文件。
最后,删除所有文件和子文件夹后,使用rmdir()删除主文件夹。
请记住,使用要删除的主文件夹的实际路径来调整$dir变量。

相关问题