ECshop商品删除后,同时删除其商品描述图

ECSHOP商城默认删除商品时候不会同时删除商品描述里面图片,如果日积月累,这些没有用商品描述图片会占用服务器和空间大量容量,增加我们空间成本,星空站长网ECSHOP教程教大家删除商品时候自动同步删除商品的缩略图,相册的图片和商品详情中的图片方法教程,希望对大家有所帮助。

1.打开 admin/includes/lib_goods.php 找到

while ($goods = $GLOBALS['db']->fetchRow($res))
{//后增加
/**
 * 删除代码中的图片 by ecshop119.com
 * @param   mix $good_desc 删除商品介绍中的图片
 * @return  void
 */
function delete_goods_img($good_desc)
{
 $match = "<img[^>]*?src=["'s]*?([^>"']*?)["'>]*?[^>]*?>";
  
 preg_match_all("@$match@isU", $good_desc, $img);
 $imgurls = array_unique($img[1]);
  
 $siteurl = dirname($GLOBALS['admin_path']);
  
 foreach ($imgurls as $img)
 {
 $img = trim($img);
 if( preg_match("@^http://@is", $img) )
 {
 if( preg_match("@^$siteurl@is", $img) )
 {
 $img = preg_replace("@^$siteurl@is", '', $img);
 }else{
 continue;
 }
 }
  
 if(is_file(ROOT_PATH .'/'. $img))
 {
 unlink(ROOT_PATH .'/'. $img);
 }elseif(is_file('../'. $img))
 {
 unlink('../'. $img);
 }
  
 }
}

其实主要就是正则处理替换,然后找到相应图片后删除。商品详情中的图片提取使用了标准的HTML语法

如果你的图片代码没有使用标准的HTML语法(src=”图片”)而图片地址中又含有空格的话,很有可能造成图片地址无法正常提取的问题。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索