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

上面的代码不起作用,但我看到下面这样的一些代码工作得很好

unlink('*.jpg');

为什么?我想知道这会起作用吗?

unlink('*.*');

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

same123.jpg
sametoo.png
samexxx.gif

它们都以字符串“same”开头,但以不同的扩展名结尾,如何做到这一点?

我已经有一种便宜的方法来做到这一点,但我想知道是否有更好的解决方案?

4

2 回答 2

66

试试这个代码:

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

psglob()需要 PHP 4.3.0+

于 2013-03-18T03:18:12.563 回答
30

您可以为此使用glob 。像这样的东西(没有测试过):

foreach (glob("something_prefix*.*") as $filename) {
    unlink($filename);
}
于 2013-03-18T03:22:17.363 回答