场景:
删除文章详情的时候,文章详情中的图片也真实删除,不占用服务器资源。
1、先获取详情中的图片路径:
$content=Db::name('archives_content')->where('archives_id',$id)->value('content'); $content = str_replace('\"','"',$content); $reg = '/<img (.*?)+src=[\'"](.*?)[\'"]/i'; preg_match_all( $reg , $content , $results ); //打印出来 $bb = $results[2]; halt($bb);
上面打印出来是二位数组:
2、循环数组,执行删除
foreach($bb as $k=>$v){ delFile($v); }
3、补充delFile函数
//删除文件,传入文件地址 function delFile($image){ if(!empty($image)){ $path=public_path().$image; }else{ return true; } if(file_exists($path)){ unlink($path); } }