ecshop图片本地化,将远程图片通过程序抓取,对应到每个商品的相册目录。这个看起来很复杂,其实很容易的工作。我们只要对ecshop二次开发比较熟悉。而且对ecshop商品信息结构以及ECSHOP相册原理比较熟悉。你就能很好的开发出ecshop远程图片本地化保存相册图片插件.
1:首先我们要获得采集数据源的信息.通过curl获取远程网页文件.
$ch = curl_init($uuu); ob_start(); curl_exec($ch); curl_close($ch); $file = ob_get_contents(); ob_end_clean();
2:通过PHP的正则表达式,我们必须匹配和提取所有的图片地址.
preg_match_all('/<li\s*thumb="(.*?)"(class="selected"|\s*)*>/is',$file,$garry);
3:获取了图片地址之后,我们将数据放到图片数组中。进行处理,录入到ecshop数据库.
if($ar['garry']){ $img_uri = array(); //构造上传数组 $img_desc = array(); //构造相册描述 $img_file = array(); //外部文件 foreach($ar['garry'] as $k=> $imgval){ $img_uri['error'][] = '4'; $img_uri['tmp_name'][] = ''; $img_desc[] = ''; $img_file[] = $www.$imgval; } handle_gallery_image($goods_id,$img_uri,$img_desc,$img_file); }
4:为了让商品的相册都录入到数据库。我们必须通过商品的ID调用 ecshop 函数 handle_gallery_image()进行出来,录入到商品的相册表中。