微信公众号上传永久图片素材、图文素材,以及群发已上传的图文素材

直接看代码

$file_path = $_SERVER['DOCUMENT_ROOT'] . "/uploads/test.jpg";//获取图片的路径,这里一定要是绝对路径才可以
$url = 'https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=' . $access_token . '&type=image';
if (!file_exists($file_path)) {
	die('图片不存在');
}
$post = array("media" => new \CURLFile($file_path));
return json_decode(CURLSend($url, 'post', $post));

至此,已完成永久图片上传,接下来上传永久图文素材

$post = [
				'articles' => [
					[
						'title' => urlencode('测试' . date('Y-m-d H:i:s', time())),
						'thumb_media_id' => $value->img_sucai->media_id,//用上面我们已上传的图片素材id
						'author' => urlencode('测试'),
						'digest' => urlencode('测试'),
						'show_cover_pic' => 1,
						'content' => urlencode("测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试<img src='" . $value->img_sucai->url . "' />测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试"),
						'content_source_url' => 'http://www.baidu.com',
					],
				],
			];
$url = 'https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=' . $access_token;
return json_decode(CURLSend($url, 'post', urldecode(json_encode($post))));

至此,完成永久图文素材上传,接下来群发我们已上传的图文素材消息
因为我这是测试公众号,不能群发,只能预览,所以下面是预览接口

$post = [
					"touser" => $v,//预览用户的openid,测试号限制比较多,只能指定用户
					'mpnews' => [
						'media_id' => $value->sucai->media_id,//我们已上传的图文素材id
					],
					'msgtype' => 'mpnews',
				];
				$url = 'https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=' . $access_token;
		return json_decode(CURLSend($url, 'post', json_encode($post)));

这里附上curl方法

function CURLSend($url, $method = 'get', $data = '') {

	$headers = array('charset=utf-8');
	$ch = curl_init(); //初始化
	// //设置URL和相应的选项
	curl_setopt($ch, CURLOPT_ENCODING, "");
	curl_setopt($ch, CURLOPT_URL, $url); //指定请求的URL
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //提交方式
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //不验证SSL
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //不验证SSL
	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); //设置HTTP头字段的数组
	curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible;MSIE 5.01;Windows NT 5.0)'); //头的字符串
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_AUTOREFERER, 1); //自动设置header中的Referer:信息
	if ($method == 'post' && !empty($data)) {
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
	} //提交数值
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //是否输出到屏幕上,true不直接输出
	$temp = curl_exec($ch); //执行并获取结果
	curl_close($ch);
	return $temp; //return 返回值json字符串
}

至此,已全部完成

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

smile_qcr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值