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

先上张图


实现原理

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

(0)

相关推荐

  • PHP处理CSV表格文件的常用操作方法总结

    要做在线Excel表格编辑功能,Excel的xls文件格式的解析就是个问题,毕竟这是微软Office的私有专利格式. 所以要做的话还是用通用的csv(Comma Separated Value,逗号分隔值)格式吧. 各种办公软件都能识别csv表格,其实就是以特定分隔符(比如逗号)分隔单元格的表格. 拿PHP来说,fgetcsv读入csv表格,返回一个数组, 然后foreach输出成HTML的<table>,这步操作几行代码就能实现,非常简单. 工作量主要还在于浏览器前端,建议你用jQuery进

  • PHP按行读取、处理较大CSV文件的代码实例

    对于数百万条数据量的CSV文件,文件大小可能达到数百M,如果简单读取的话很可能出现超时或者卡死的现象. 为了成功将CSV文件里的数据导入数据库,分批处理是非常必要的. 下面这个函数是读取CSV文件中指定的某几行数据: 复制代码 代码如下: /** * csv_get_lines 读取CSV文件中的某几行数据 * @param $csvfile csv文件路径 * @param $lines 读取行数 * @param $offset 起始行数 * @return array * */functi

  • 基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)

    php导入到excel乱码是因为utf8编码在xp系统不支持所有utf8编码转码一下就完美解决了utf-8编码案例Php代码 复制代码 代码如下: <?php header("Content-Type: application/vnd.ms-excel; charset=UTF-8"); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: m

  • php使用fgetcsv读取csv文件出现乱码的解决方法

    本文实例讲述了php使用fgetcsv读取csv文件出现乱码的解决方法.分享给大家供大家参考.具体分析如下: 一般来说在php中碰到乱码多半是编码问题,在这里我们实例分析了fgetcsv读取csv文件乱码原因所在与解决方法. 例子如下: 复制代码 代码如下: function get_csv_contents( $file_target ){  $handle  = fopen( $file_target, 'r');  while ($data = fgetcsv($handle, 1000,

  • php导入csv文件碰到乱码问题的解决方法

    今天主要是想写一个php导入csv文件的方法,其实网上一搜一大把.都是可以实现怎么去导入的.但是我导入的时候遇到了两个问题,一个是在windows上写代码的时候测试发生了乱码问题,然后解决了.第二个是提交到linux系统上的时候又发生了乱码.我开始还不清楚是乱码的原因,一开始我还以为是代码svn提交发生的错误,到最后我在我的一个群里提问了一下,一朋友是做phpcms的,他说他遇到从Windows提交到Linux的时候刚开始也总是发生错误,后来排查原因就是乱码导致成的.下面切入正题看怎么解决两个问

  • 基于PHP读取csv文件内容的详解

    一次性读取csv文件内所有行的数据 复制代码 代码如下: <?php $file = fopen('windows_2011_s.csv','r'); while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容//print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可$goods_list[] = $data; }//print_r($goods_list);/* foreach ($goods_list as $arr){ 

  • php将csv文件导入到mysql数据库的方法

    本文实例讲述了php将csv文件导入到mysql数据库的方法.分享给大家供大家参考.具体分析如下: 本程序实现数据导入原理是先把csv文件上传到服务器,然后再通过php的fopen与fgetcsv文件把数据保存到数组,然后再用while把数据一条条插入到mysql数据库,代码如下: 复制代码 代码如下: <?php $fname = $_files['myfile']['name']; $do = copy($_files['myfile']['tmp_name'],$fname); if ($

  • PHP导出MySQL数据到Excel文件(fputcsv)

    这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件. 复制代码 代码如下: // 输出Excel文件头,可把user.csv换成你要的文件名 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="user.csv"'); header('Cache-Control: max-age=0'); // 从数据库中获取

  • php csv操作类代码

    请点击后面地址下载:csv操作类 使用说明如下: 1.生成csv文件 复制代码 代码如下: require "./include/csvdatafile.php"; set_time_limit(200); header("Content-type: application/RFC822"); header('Content-Disposition: attachment; filename=export.csv'); $arr_export_titles = ar

  • php对csv文件的读取,写入,输出下载操作详解

    复制代码 代码如下: <?php       $file = fopen('text.csv','r'); while ($data = fgetcsv($file)) {    //每次读取CSV里面的一行内容      //print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可   $goods_list[] = $data;    }//print_r($goods_list);echo $goods_list[0][1];    fclose($file);

随机推荐