php删除商品不能删除商品小图,ECSHOP删除商品时同步删除商品详细评述中的图片...

该博客介绍了ECSHOP用户在使用火车采集器下载商品图片后,删除商品时图片不会自动删除的问题。为解决这个问题,提供了PHP代码实现删除商品时同步删除缩略图、相册图片和商品详情图片的功能,以节省存储空间。代码适用于ECSHOP2.7.0GBK版本,同时提醒用户注意HTML语法标准,避免图片地址提取错误。
摘要由CSDN通过智能技术生成

Ecshop 采集软件发布以后,部份用户使用火车采集器将商品详情中的图片下载到本地中。这样可以加快图片显示速度,同时保证图片的有效性。

但部份用户遇到一个问题。即在删除图片时,ECSHOP并不会自动删除已经下载的图片,加上这些图片非常大,占用空间量特别大。

那么就开发了这个功能,删除商品时,同步删除商品的缩略图,相册的图片和商品详情中的图片。

以下代码基于ECSHOP 2.7.0 GBK,请适用的用户下载。有问题欢迎提出。

下面讲一下注意事项:

[php]

/**

* 删除代码中的图片

* @param   mix $good_desc 删除商品介绍中的图片

* @return  void

*/

function delete_goods_img($good_desc)

{

$match = "]*?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);

}

}

}

[/php]

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

所以,按标准办事,效率总会高一点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值