PHP 5.6+ 微信上傳臨時素材的問題 41005

5.6+ 不再支持@+地址 需要使用CURLFile這個方法

5.5 $data = array('media' => '@' . $filepath);
5.6 $data = array('media' => new \CURLFile($filepath));

具體方法如下:

/**
     *  上傳臨時素材
     * @param string $access_token 令牌
     * @param string $filepath 圖片路徑
     * @return mixed
     */
    public function uploadImg($access_token, $filepath)
    {
        $url = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$access_token."&type=image";
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($curl, CURLOPT_POST, 1);
        $data = array('media' => new \CURLFile($filepath));//php5.6
      //$data = array('media' => '@' . $filepath);//php5.5
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($curl);
        if (curl_errno($curl)) {
            return 'Errno'.curl_error($curl);
        }
        curl_close($curl);
        return $result;

    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章