【发布时间】:2016-01-30 18:45:48
【问题描述】:
我想删除文件夹中的所有文件,但包含以下内容的文件除外:
- 具体文件名
- 特定文件扩展名
以下代码在上述第一点成功,但在第二点不成功。
function deletefiles()
{
$path = 'files/';
$filesToKeep = array(
$path."example.jpg",
$path."123.png",
$path."*.mkv"
);
$dirList = glob($path.'*');
foreach ($dirList as $file) {
if (! in_array($file, $filesToKeep)) {
if (is_dir($file)) {
rmdir($file);
} else {
unlink($file);
}//END IF
}//END IF
}//END FOREACH LOOP
}
我怎样才能同时满足这两个条件?
【问题讨论】:
-
Glob 是一个接受通配符的函数,in_array 不接受,它会搜索一个精确的字符串。你现在基本上是在要求我们重写你的函数。
标签: php file wildcard glob unlink