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

上記のコードは機能しませんが、以下のようなコードは問題なく機能します

unlink('*.jpg');

なぜ?これはうまくいくのだろうか?

unlink('*.*');

同じ文字列で始まるファイルを削除するには? このような

same123.jpg
sametoo.png
samexxx.gif

それらはすべて「同じ」という文字列で始まりますが、異なる拡張子で終わります。これを行う方法は?

私はすでにこれを行うための安価な方法を持っていますが、もっと良い解決策があるのだろうか?

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 に答える