删除具有相同前缀的文件

cas*_*iel 26 php file unlink

$prefix = 'something_prefix';
unlink($prefix.'.*');
Run Code Online (Sandbox Code Playgroud)

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

unlink('*.jpg');
Run Code Online (Sandbox Code Playgroud)

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

unlink('*.*');
Run Code Online (Sandbox Code Playgroud)

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

same123.jpg
sametoo.png
samexxx.gif
Run Code Online (Sandbox Code Playgroud)

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

我已经有了一个廉价的方法来做到这一点,但我想知道是否有更好的解决方案?

Rap*_*tor 58

试试这段代码:

$mask = 'your_prefix_*.*';
array_map('unlink', glob($mask));
Run Code Online (Sandbox Code Playgroud)

ps glob()需要PHP 4.3.0+


sec*_*tus 27

您可以使用glob来实现此目的.像这样的东西(没有测试):

foreach (glob("something_prefix*.*") as $filename) {
    unlink($filename);
}
Run Code Online (Sandbox Code Playgroud)