日期:2014-05-17  浏览次数:20461 次

请教PHP正规表达式获取指定文件夹里的所有图片名,再把这些相关图片删除的操作
最近帮朋友做了个后台,里面是用fckeditor作为编辑器,但fckeditor没提供上传图片后把图片名写入数据库的功能,删除新闻时只删除数据,新闻里的图片依然存留在服务器,这样日后会积累很多垃圾图片. 所以想在删除图片时读取新闻内容里upimages文件夹里的相关图片,然后进行删除.

例如我新闻里有4条图片链接 <img src="http://www.abc.com/upimages/33333.jpg" /><img src="http://www.abc.com/upimages/555555.GIF" />
<img src="http://www.abc.com/upimages/66666.png" /><img src="http://www.abc.com/upimages/77777.bmp" />

请教高手正规表达式该如何写,还有获取图片名后进行删除的代码.谢谢!!!!




------解决方案--------------------
just like this...

PHP code

$news_content = '<img src="http://www.abc.com/upimages/33333.jpg" /> <img src="http://www.abc.com/upimages/555555.GIF" /> 
<img src="http://www.abc.com/upimages/66666.png" /> <img src="http://www.abc.com/upimages/77777.bmp" />';

if( preg_match_all("/<img src=\"http:\/\/www\.abc\.com\/upimages\/([\w\.]*?)\"\s?\/>/", $news_content, $getvalues) ){
        foreach($getvalues[1] as $filename){
            unlink('upimages/' . $filename);
        }   
}