WordPress自带Http请求Post上传文件方法

本站正在使用的主机

本站目前托管于腾讯云香港轻量服务器,价格便宜访问速度也快,使用本站推荐链接购买还可免费获得WordPress运行环境优化服务。

最新活动 »

WordPress的wp_remote_post函数用来提交Post请求非常方便,但不支持上传文件。在做微信公众号开发时经常需要上传图片,可以使用WordPress自带的Http请求类来实现。

下面是微信公众号开发上传图片的示例:

$url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=$access_token";
$file = new CURLFile($file);
$Http = new WP_Http_Curl;
$args = array(
	'method' => 'POST',
	'sslverify' => false,
	'body' => array('media'=>$file),
);
$res = wp_remote_retrieve_body($Http->request($url, $args));
$res = json_decode($res, true);

代码释义:

  • $url为公众号上传图片接口的地址;
  • $file为文件路径,在PHP版本高于5.5时必须使用CURLFile对象指向文件;
  • 提交请求使用了WP_Http_Curl类;
  • wp_remote_retrieve_body函数提取公众号平台返回的JSON数据;
  • json_decode将返回的JSON数据转换为数组。
背字根微信二维码

本站文章均为原创,码字非常不容易,转载请注明原文出处,给苦逼的作者保留一点创作动力。