PHP实现上传图片类型永久素材到微信公众号的示例:
代码如下:
<?php
$type = "image";
$access_token="填写你自己的token";
$filepath = '@D:/11.jpg';//文件的绝对路径
$filedata = array (
"media" =>$filepath
);
$url = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$access_token."&type=".$type;
$result = https_request($url,$filedata);
var_dump($result);
function https_request($url,$data = null)
{
$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);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
?>
注意:
1:官方给的示例里的url是:http://file.api.weixin.qq.com/开头的,如果上传其他类型永久素材的话,用这个url会可能会报这个错
【string(68) "{"errcode":41006,"errmsg":"media_id missing hint: [vxoEmA0585e298]"}"】
2:我给出的代码示例是5.4版本的PHP,如果你是5.6以后,包括5.6的,出现【media_id missing hint】这个错的,是因为5.6以后不支持@语法了。