公司计划将要点从淘宝转移到B2C上边,所以把我招进来了,通过两个月的时刻,新闻发布"B2C站建立起来,但是在导入淘宝数据包的时分出现问题了,那便是数据乱码,在上找了好久都没有找到真实能够处理的办法,那就只能自己搞了,还好最好被我捣鼓出来了。
我用的是ecshop2.73的版别,其他版别没有验证,自己只确保同版别的能够用。
前期预备:
1、运用淘宝帮手导出一个数据包(.csv),不要一次悉数产品导出,最好是将数据包控制在1M左右,由于ecshop对上传文件有约束。
2、备份站程序中的goods_batch.php。假如你对自己的水平有满足的决心,能够不备份直接在源文件上修正,微信营销软件"否则请备份。
3、文件编辑器。
开端修正:
1、用编辑器翻开文件goods_batch.php,文件在admin文件夹下,找到
$data=file($_FILES['file']['tmp_name']);
并将此行注释掉。在下边加上
$data0=mb_convert_encoding(file_get_contents($_FILES['file']['tmp_name']),"utf-8","UTF-16LE");
utf-8是我ecshop的版别编码,假如你的是gbk则这儿是gbk。
2、持续增加代码
$data=str_replace("\"\"","\"",$data0);
$data=explode('米莱旗舰店',$data);
米莱旗舰店是我店肆的姓名,将这个换成你店肆的姓名即可。
3、这儿开端要特别注意,由于csv文件的最初有一部分阐明,所以要针对首行特别处理。
if($k==0){
$goods_name_arr=explode('"',$line_list[98]);
$goods_name=$goods_name_arr[1];
$shop_price=$line_list[105];
$goods_number=$line_list[107];
$imgsstr=$line_list[126];
$goods_desc=str_replace("\"","'",substr($line_list[118],1,strlen($line_list[118])-2));
}else{$goods_name_arr=explode('"',$line_list[10]);
$goods_name=$goods_name_arr[1];
//$goods_name=trim($line_list[10],'"');
$shop_price=$line_list[17];
$goods_number=$line_list[19];
$imgsstr=$line_list[38];
$goods_desc=str_replace("\"","'",substr($line_list[30],1,strlen($line_list[30])-2));
}
这儿的$line_list[]可能会由于店肆产品特点不一样导致数据提取过错,能够先print_r($line_list)然后修正过错的数组下标。
4、到了这儿数据的提取基本上完成了,下面就要对提取的数据进行处理并赋值给数组。其实也仅仅图片的数据需求处理一下,软文推行"详细如下:
$imgasd=str_replace("\"","",$imgsstr);
$imgasd=explode(";",$imgasd);
foreach($imgasdas$ks=>$vs){
if($ks!=count($imgasd)-1){
$nv=explode("|",$vs);
$in=explode(":",$nv[0]);
$imgs_u.=$in[0].".jpg;";
}
}
$arr['original_img']=$imgs_u;
5、最终要处理的数据便是图片的途径。找到if(!empty($field_arr['original_img']))的方位,有这儿开端注释,一直到//修正产品图这儿,然后再注释//增加产品相册图下面的if代码。
此办法确保可用于ecshop2.73,我公司的b2c现已运用这个办法成功导入了淘宝的产品数据。
假如有不明白的或许不会修正需求协助的能够拜访,假如有朋友发现更好的办法也欢迎沟通。
,本文来自:口碑营销蜓云koubei.tingclouds