我正在使用这个代码:
$target = 'extracted/' . $name[0];  
$scan = scandir($target);
扫描用于zip上传的文件夹的目录.我希望能够找到我$target文件夹中的所有文件夹,这样我就可以删除它们及其内容,只留下目录中的$target文件.
一旦我返回了文件夹的内容,我不知道如何区分文件夹和文件以便能够删除文件夹.
另外,我被告知该rmdir()功能无法删除其中包含内容的文件夹,有什么方法吗?
谢谢,本.
tra*_*146 60
要确定您是否有文件夹或文件,请使用这些功能is_dir()和is_file()
例如:
$path = 'extracted/' . $name[0];
$results = scandir($path);
foreach ($results as $result) {
    if ($result === '.' or $result === '..') continue;
    if (is_dir($path . '/' . $result)) {
        //code to use if directory
    }
}
        Dom*_*nic 36
$path = 'extracted'; // '.' for current
foreach (new DirectoryIterator($path) as $file) {
    if ($file->isDot()) continue;
    if ($file->isDir()) {
        print $file->getFilename() . '<br />';
    }
}
首先,rmdir() 无法删除包含内容的文件夹。如果安全模式被禁用,您可以使用以下命令。
exec("rm -rf folder/"); 
另请查看 is_dir()/is_file() 甚至更好的PHP SPL。