php传图片到公众号,通过第三方服务器上传图片到公众号上

最近,我又对微信公众号的开发感兴趣,最记得一年前帮朋友搭建一个公众号平台,不过实现的效果不如人意,还有一些问题未解决,现在回想起,首先会想到,通过第三方服务器上传图片到公众号上。

我是PHP进行开发的,因此以下实现的方法和语句都是PHP里面的内容。将他们组织起来,再配合公众平台开发者文档就可以实现和其他公众号一样有的功能。

公众平台开发者文档: http://mp.weixin.qq.com/wiki/home/index.html

以下实现的功能之前也提及到,通过第三方服务器上传图片到公众号上。

http://mp.weixin.qq.com/wiki/10/10ea5a44870f53d79449290dfd43d006.html

我并不能完整介绍这个功能,因为我只是想实现最核心的功能,可能还需要扩展。 这里用到PHP CURL,这是一个实现抓取网页内容,表单上传(POST和GET)的有用的功能。

$AccessToken = getWxAccessToken();//获取AccessToken

putImageToWx($AccessToken);//上传永久素材到微信公众号,这里是是上传图片

function getWxAccessToken(){

require_once 'wx.php';

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".

$wx['APPID']."&secret=".$wx['APPSECRET'];

//初始化curl

$ch = curl_init($url);

//配置一些参数

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

$AccessToken = curl_exec($ch);

if(curl_error($ch)){

echo curl_errno($ch); //当出现问题,输入错误代码

}

$result = json_decode(curl_exec($ch),true); //将得到的结果转成数组输出,json_decode()解码

curl_close($ch);

return $result['access_token'];

}

function putImageToWx($AccessToken){

$url="https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=".$AccessToken;

$path="@D:\\Apache2.2\\htdocs\\abc.jpg"; //需要上传的图片地址

$post_data= array('media' => $path);

//初始化curl

$ch = curl_init($url);

//配置一些参数

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch,CURLOPT_POST,0);

curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data); //这里的操作是上传文件,因此按照公众号开发者文档提到的,POST参数为 'media'

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

$PicUrl = json_decode(curl_exec($ch),true); //将得到的结果转成数组输出,json_decode()解码

if(curl_error($ch)){

echo curl_errno($ch);

}

echo ".%24PicUrl%5B'url'%5D."; //输出图片

}

暂时这样!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值