ホームページ >バックエンド開発 >PHPチュートリアル >taabao.item.add への画像のアップロードに関する問題

taabao.item.add への画像のアップロードに関する問題

WBOY
WBOYオリジナル
2016-06-13 13:26:37917ブラウズ

taabao.item.add への画像アップロードの問題を解決してください
商品はアップロードされますが、画像のアップロード方法がわかりません

PHP コード
<!--

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;
    }

?>


- -----解決策---------
タオバオのオープンプラットフォームに行って、より多くの人に知ってもらいましょう。
忘れていましたが、直接呼び出せるSDKがあるようです。
------解決策------------------
ライブラリは直接シールする必要があります。最下層は、curl などの上に投稿される multipart/form-data である必要があります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。