在做微信公众号上传图片等素材接口的时候,一直报41005错误,看了很多文章,修改后还是一直报,最后终于找到了解决方案。
想哭
下面代码
$root = $_SERVER['DOCUMENT_ROOT']; //根目录
$access_token = '';
$type = "image";
$filepath = $root.'/images/test.jpg';//文件的绝对路径
if (class_exists('\CURLFile')) {
//就是这里需要注意添加上文件类型
$filedata['media'] = new \CURLFile(realpath($filepath), 'image/jpeg');
}
else {
$filedata['media'] = '@'.$filepath;
}
//此接口地址为 新增其他类型永久素材 类型为图片
$url = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$access_token."&type=".$type;
$result = $this->https_request($url,$filedata);
dump($result);
function https_request($url,$data = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER , true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}