删除具有相同前缀的文件

时间:2013-03-18 03:16:47

标签: php file unlink

$prefix = 'something_prefix';
unlink($prefix.'.*');

上面的代码不起作用,但我看到下面这样的代码可以正常工作

unlink('*.jpg');

为什么呢?我很奇怪这会起作用吗?

unlink('*.*');

如何删除以相同字符串开头的文件?像这样

same123.jpg
sametoo.png
samexxx.gif

它们都以字符串“相同”开头,但以不同的扩展名结尾,怎么做?

我有一种廉价的方法可以做到这一点,但我想知道是否有更好的解决方案?

2 个答案:

答案 0 :(得分:56)

试试这段代码:

$mask = 'your_prefix_*.*';
array_map('unlink', glob($mask));

P.S。 glob()需要PHP 4.3.0 +

答案 1 :(得分:25)

您可以使用glob。这样的事情(没有测试):

foreach (glob("something_prefix*.*") as $filename) {
    unlink($filename);
}