这段时间在开发壹百款客户中心
其中将ECSHOP的数据转到淘宝,原先是有51ecshop开发的ecshop助手有这个功能的,后来我打算自己直接在网页实现,就测试了下了,花了一段时间,共享出来希望对大家有所帮助,可以节省时间。
先上张图
实现原理
先读取数据,用相应的数据段写入CSV的行的对应段,然后保存为CSV即可,在最新版的淘宝助手中测试通过了
实现代码
function totaobao() { //加载所选商品 $map['goods_id'] = array('in',$this->returnid()); $result = $this->showgoods($map); //写入CSV并保存数据 $header =iconv('UTF-8','GB2312',"宝贝名称,宝贝类目,店铺类目,新旧程度,省,城市,出售方式,宝贝价格,加价幅度,宝贝数量,有效期,运费承担,平邮,EMS,快递,付款方式,支付宝,发票,保修,自动重发,放入仓库,橱窗推荐,开始时间,心情故事,宝贝描述,宝贝图片,宝贝属性,团购价,最小团购件数,邮费模版ID,会员打折,修改时间,上传状态,图片状态,返点比例,新图片,视频,销售属性组合,用户输入ID串,用户输入名-值对,商家编码,销售属性别名,代充类型,宝贝编号"); header("Content-type:text/csv"); header("Content-Disposition:attachment;filename=ybkgoods.csv"); header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); header('Expires:0'); header('Pragma:public'); echo "$header\n"; //输出数据体 foreach($result as $value) { //过滤描述字段 $desc = csvdatafilter("www.yibaikuan.com",$value['goods_desc']); //截取图片文件名 $img = msubstr($value['goods_thumb'],24,25); //转义 $body =iconv('UTF-8','GB2312',$value['goods_name'].",,,0,浙江,金华,b,".$value['shop_price'].",0,".$value['goods_number'].",14,1,20,20,10,,,0,0,1,0,1,,,".$desc.",,,,,0,0,,100,,0,".$img.":0:0:|;,,,,,,,0,"); echo "$body\n"; } }
需要注意几点
1.编码问题
2.商品描述中的html代码过滤问题
3.注意图片的路径
结语:
针对淘宝、拍拍、有啊 助手生成的csv的原理都是差不多的了,有需要的可以去测试。