鍍金池/ 問答/PHP/ 移除圖片,如何比對圖片??? unlink

移除圖片,如何比對圖片??? unlink

假設(shè)圖片的名稱是

12-912-egjaeigaewogkewaogkeawokgaowegh.PNG

當(dāng)我要帶值給 unlink時(shí)
我要怎麼略過其他值?
假設(shè)

unlink('12-912-egjaeigaewogkewaogkeawokgaowegh.PNG');

這樣可以把圖片刪除
但是假設(shè)我只知道 912 這個(gè)數(shù)字
那這邊我能怎麼只對到 xx-這個(gè)地方?-xxxxxxxx

unlink('不限-912-不限.不限');

只要是完成的912就刪除
但是像9122是不刪除的
要完全一樣才行!

回答
編輯回答
任她鬧

可以用正則去匹配,很簡單。

$str = '12-egjaeigaewogkewaogkeawokgaowegh.PNG';
$regexp = '/^(\d+)-(\w+)\.(jpg|png|jpeg)$/i';
preg_match($regexp, $str, $match);
print_r($match);

結(jié)果:

Array
(
    [0] => 12-egjaeigaewogkewaogkeawokgaowegh.PNG
    [1] => 12
    [2] => egjaeigaewogkewaogkeawokgaowegh
    [3] => PNG
)

Update 1 2018-07-05 16:18:21
對于匹配刪除特定的格式一樣可以正則匹配去刪除,只需修改下正則就可以了,比如文件名是
12-912-egjaeigaewogkewaogkeawokgaowegh.PNG
把上面的正則改為

'/^(\d+)-912-(\w+)\.(jpg|png|jpeg)$/i'

即可,然后用判斷$match是否為空,如果為空說明不匹配,就不刪除。

2018年3月28日 04:31
編輯回答
失魂人
foreach(glob('*-912-*.*') as $file)
{
    unlink($file);
}
2018年3月29日 11:38