有什么方法可以删除CodeIgniter4中的主文件夹及其子文件夹吗?

问题描述 投票:0回答:1

我想删除主文件夹及其中的所有文件和子文件夹。我尝试了一个代码块,它使用

glob()
迭代所有文件,然后调用
rmdir()
删除主文件夹,并调用
unlink()
删除文件。但是,子文件夹不会被删除。如何修改此代码以同时删除子文件夹?

示例代码:

foreach (glob($dir . '/*') as $file) {
    if (is_dir($file)) {
        rmdir($file);
    } else {
        unlink($file);
    }
}
rmdir($dir);
php codeigniter
1个回答
-2
投票

当然!这是代码的修改版本,它使用 CodeIgniter 的文件助手中的

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

在此代码中,为

delete_files()
循环中遇到的每个子文件夹调用
foreach
函数。它递归地删除每个子文件夹中的所有文件和子文件夹。

如果遇到文件而不是子文件夹,则像以前一样使用

unlink()
将其删除。

最后,删除所有文件和子文件夹后,使用

rmdir()
删除主文件夹。

请记住将

$dir
变量调整为要删除的主文件夹的实际路径。

© www.soinside.com 2019 - 2024. All rights reserved.