Heim >Backend-Entwicklung >PHP-Tutorial > taobao.item.add上传图片的有关问题

taobao.item.add上传图片的有关问题

WBOY
WBOYOriginal
2016-06-13 13:26:37914Durchsuche

求助taobao.item.add上传图片的问题
商品会传,但是图片不知道怎么上传

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php header("Content-Type: multipart/form-data; charset=utf-8");
require_once "include\Snoopy.class.php";
$appSecret = 'XXX'; //填写自己申请的$appSecret
$app_key='XXX';
$url = 'http://gw.api.taobao.com/router/rest?';  //正式环境提交URL,一般情况下不要改
        $paramArr = array(
            'method' => 'taobao.item.add',   //API名称
            'session' => 'XXX',   //sessionkey
            'timestamp' => date('Y-m-d H:i:s'),
            'format' => 'xml',  //返回格式,本demo仅支持xml
            'app_key' => 'XXX',  //Appkey
            'v' => '2.0',   //API版本号
            'sign_method'=> 'md5', //签名方式
             'num'=> '200', //商品数量
             'price'=> '20', //商品价格
             'type'=> 'fixed', //发布类型
             'stuff_status'=> 'new', //新旧程度
             'approveStatus'=>'instock',
             'title'=> '油画入门', //标题
             //'image'=> '@3.jpg', //商品价格
             'desc'=> 'imageimageimageimage', //商品描述
             'location.state'=> '上海', //省
             'location.city'=> '上海', //市
             'cid'=> '50005701', //淘宝类目
             'seller_cids'=> '244664972', //店铺类目
             'freight_payer'=> 'buyer', //邮费模板
             'postage_id'=> '2790119', //邮费模板
             'props'=> '1636953:2147483647;', //商品属性
             'input_pids'=> '1636953', //商家编码
             'input_str'=> '9787508347394', //商品属性
                     );
        //生成签名
        $paramArr['sign']= createSign($paramArr,$appSecret);
        //组织参数
        $strParam .= 'sign='.$sign;
        //构造Url
        $reqHttp = new Snoopy();
        $reqHttp->submit($url,$paramArr);
         //$paramArr['image']= array('image'=>'@3.jpg'); //商品价格
        $r=getXmlData($reqHttp->results);
        print_r($r);

//以下为SKD内容
    //签名函数
    function createSign ($paramArr) {
        global $appSecret;
        $sign = $appSecret;
        ksort($paramArr);
        foreach ($paramArr as $key => $val) {
           if ($key !='' && $val !='') {
               $sign .= $key.$val;
           }
        }
        $sign = strtoupper(md5($sign.$appSecret));
        return $sign;
    }

    //组参函数
    function createStrParam ($paramArr) {
        $strParam = '';
        foreach ($paramArr as $key => $val) {
           if ($key != '' && $val !='') {
               $strParam .= $key.'='.urlencode($val).'&';
           }
        }
        return $strParam;
    }

    //解析xml函数
    function getXmlData ($strXml) {
        $pos = strpos($strXml, 'xml');
        if ($pos) {
            $xmlCode=simplexml_load_string($strXml,'SimpleXMLElement', LIBXML_NOCDATA);
            $arrayCode=get_object_vars_final($xmlCode);
            return $arrayCode ;
        } else {
            return '';
        }
    }

    function get_object_vars_final($obj){
        if(is_object($obj)){
            $obj=get_object_vars($obj);
        }
        if(is_array($obj)){
            foreach ($obj as $key=>$value){
                $obj[$key]=get_object_vars_final($value);
            }
        }
        return $obj;
    }

?>


------解决方案--------------------
到taobao open平台去询问要更多人知道些.
我忘记了,我记得好像也是有SDK什么可以直接调用的.
------解决方案--------------------
应该直接给封好库了,底层肯定是curl之类往上post的multipart/form-data。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn