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

假設圖片的名稱是

12-912-egjaeigaewogkewaogkeawokgaowegh.PNG

當我要帶值給 unlink時
我要怎麼略過其他值?
假設

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

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

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

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


蛊毒传说
浏览 144回答 2
2回答

MMMHUHU

foreach(glob('*-912-*.*') as $file){    unlink($file);}

慕运维8079593

可以用正则去匹配,很简单。$str = '12-egjaeigaewogkewaogkeawokgaowegh.PNG';$regexp = '/^(\d+)-(\w+)\.(jpg|png|jpeg)$/i';preg_match($regexp, $str, $match);print_r($match);结果: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是否为空,如果为空说明不匹配,就不删除。遍历这个目录获取文件列表放到一个数组里,遍历这个数组,按照上面的方法拼接出正则去匹配,如果匹配上了就删除,如果确定只有一个匹配就直接可以break跳出循环了。
打开App,查看更多内容
随时随地看视频慕课网APP