当前位置: 首页 > news >正文

PHP导出数据到淘宝助手CSV的方法分享

这段时间在开发壹百款客户中心 壹百款

其中将ECSHOP的数据转到淘宝,原先是有51ecshop开发的ecshop助手有这个功能的,后来我打算自己直接在网页实现,就测试了下了,花了一段时间,共享出来希望对大家有所帮助,可以节省时间。

 

先上张图

2010022622191055.jpg

2010022622303790.jpg

实现原理

先读取数据,用相应的数据段写入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的原理都是差不多的了,有需要的可以去测试。

转载于:https://www.cnblogs.com/scotoma/archive/2010/02/26/1674588.html

相关文章:

  • 公司最近招招.net程序员
  • 从一棵“微博树”透视物联网的未来
  • 挚爱一生---结婚周年纪念
  • 我对国内软件开发类书籍出版与写作的体会与努力
  • 『软件周边』ColorSchemer Studio 2.0 注册码
  • 转 如何有效的使用C#读取文件 及如何解决中文乱码问题
  • 说出你的想法,赢取Windows Phone 7手机
  • 读了本书, 发现百度要比想象的有意思多了
  • ArcSDE vs. Oracle Spatial 12
  • 0318 NEEK_VIP_demo_LCD_SVGA_成功修改
  • ArcSDE vs. Oracle Spatial 13
  • JQuery 模式窗口插件
  • 基于Windows Phone的对讲机
  • Cheatsheet: 2010 04.01 ~ 04.07
  • Windows Phone 7开发版手机即将于下月发行
  • 分享的文章《人生如棋》
  • 【React系列】如何构建React应用程序
  • dva中组件的懒加载
  • Javascript设计模式学习之Observer(观察者)模式
  • Octave 入门
  • Vue ES6 Jade Scss Webpack Gulp
  • 分享一份非常强势的Android面试题
  • 浮现式设计
  • 前端攻城师
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 温故知新之javascript面向对象
  • 我有几个粽子,和一个故事
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​插件化DPI在商用WIFI中的价值
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ![CDATA[ ]] 是什么东东
  • # 透过事物看本质的能力怎么培养?
  • (12)Linux 常见的三种进程状态
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)ABI是什么
  • (转)平衡树
  • **CI中自动类加载的用法总结
  • .htaccess 强制https 单独排除某个目录
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET业务框架的构建
  • 。Net下Windows服务程序开发疑惑
  • @取消转义
  • [ C++ ] STL---string类的模拟实现
  • [1181]linux两台服务器之间传输文件和文件夹
  • [ACM] hdu 1201 18岁生日
  • [Android Studio] 开发Java 程序
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [BZOJ1060][ZJOI2007]时态同步 树形dp
  • [C++]C++类基本语法