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

yipeiwu_com6年前PHP代码库

先上张图


实现原理

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

相关文章

两种设置php载入页面时编码的方法

php载入页面时设置页面编码的两种方法 1:输出meta标签: 1、在php mvc的控制器里面或php页面echo '<meta http-equiv="content-type...

PHP strtotime函数用法、实现原理和源码分析

源码位置:\ext\date\php_date.c 复制代码 代码如下: /* {{{ proto int strtotime(string time [, int now ]) &nb...

Yii中render和renderPartial的区别

以下由我们在信易网络公司开发项目的时候终结出的一些经验 在进行页面输出渲染的时候。 1.render 输出父模板的内容,将渲染的内容,嵌入父模板。| 2.renderPartial 则不...

thinkphp中连接oracle时封装方法无法用的解决办法

thinkphp中连接oracle时封装方法无法用的解决办法

最近收集了一些关于THinkPHP连接Oracle数据库的问题,有很多朋友按照连接mysql的方法来操作,导致有一些方法在Oreale中无法正常使用。比如说:findAll,Select...

有关phpmailer的详细介绍及使用方法

第一,需要下载PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/第二,确认你的服务器系统已经支持socket ,通过phpi...