【发布时间】:2022-06-22 17:31:39
【问题描述】:
我想从 PHP 中的多个目录中删除文件。问题是当代码运行时它会删除所有内容。我有一个主文件夹,里面有很多文件夹。这些文件夹有我想删除的文件,除了 $filesToKeep 变量中的那个文件。我是一个初学者 PHP 开发人员,我真的不知道我怎么能找到问题。如果有另一种更简单的方法来删除这些文件也可能会有所帮助。
这是我的代码:
function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
}
}
reset($objects);
rmdir($dir);
}
}
$filesToKeep = array(
'partner-profil-480.jpg'
);
$dirList = glob('*');
foreach ($dirList as $file) {
if (!in_array($file, $filesToKeep)) {
if (is_dir($file)) {
rrmdir($file);
} else {
unlink($file);
}//END IF
}//END IF
}//END FOREACH LOOP
?>
【问题讨论】:
-
在您的
foreach中打印出$file以查看它的外观以及它是否可能与您想要保留的文件匹配 -
我试图打印它,但它没有给我任何回报。我只能看到文件结构,这是删除功能之前的另一个代码。
标签: php