1.删除、编辑文章时,一起删除多余图片的方法函数:
1.定义三个公共函数:
/** * 获取字符串中包含的所有图片 * author: xiaochuan * @param $data 数据 * @return array */ function get_content_img($data='') { $preg="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/"; preg_match_all($preg,$data,$obj); return $obj[1]; } /** * 文章删除时 -(删除内容中的图片) * author: xiaochuan * @param $data 数据 * @return array */ function del_content_img($data='') { $preg="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/"; preg_match_all($preg,$data,$obj); if(!empty($obj)){ foreach ($obj[1] as $k => $v) { //注意:如果SRC带网址:要先str_replace //$v = str_replace('你的网址','',$v); unlink(FCPATH.$v); } } } /** * 文章编辑时 -(删除内容多余的图片) * author: xiaochuan * @param $arr1 旧数据 * @param $arr2 新数据 * @return array */ function act_content_img($arr1='' , $arr2='') { $arr1 = get_content_img($arr1); $arr2 = get_content_img($arr2); $actdata = array_diff($arr1, $arr2); if(!empty($actdata)){ foreach ($actdata as $k => $v) { //注意:如果SRC带网址:要先str_replace //$v = str_replace('你的网址','',$v); unlink(FCPATH.$v); } } }
2.使用:
//删除时调用:del_content_img(文章内容); del_content_img($data['content']); //编辑时调用:act_content_img(旧文章内容,新文章内容); act_content_img($arr1['content'],$arr2['content']);
转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/60.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意