@rentutu: 我自己解决了下面是我自己的代码希望对你有帮助:
/*上传卡券LOGO*/
public function get_photo($accesstoken,$logo)
{
$url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=$accesstoken";
// $logo = '/Public/admin/attached/201607/29/10204930063.jpg';
$data = array('buffer' => '@.'.$logo);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, FALSE);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$return_data = curl_exec($ch);
curl_close($ch);
$return_data = json_decode($return_data,true);
return $return_data['url'];
}
/*注意:https请求和http不一样 ,需要加上curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);*/