PHP通过CURL上传图片(微信公众号上传素材)
这里以微信公众号素材管理为例。
PHP的cURL支持通过给CURL_POSTFIELDS传递关联数组(而不是字符串)来生成multipart/form-data的POST请求。
传统上,PHP的cURL支持通过在数组数据中,使用“@+文件全路径”的语法附加文件,供cURL读取上传。这与命令行直接调用cURL程序的语法是一致的:
$type = "image"; //声明上传的素材类型,这里为image
$token = get_access_token();//调用接口需要获取token,这里使用一个封装好的调取access_token的函数
$url = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$token."&type=".$type;//这里是请求地址,token和素材类型通过get方式传递
$file_path = dirname(__FILE__)."/pro.jpg";//这里声明文件的路径,使用绝对路径
$file_data = array('media' => '@'.$file_path);//传递的数组,方式一:使用'@'符号加上文件的绝对路径来指引文件。这种方式适合PHP5.5之前的版本,
$file_data = array("media" => new \CURLFile($file_path));//传递的数组,方式二:从PHP5.5版本以后,引入了新的CURLFile 类来指向文件,参数传入的也是绝对路径
$ch = curl_init();//初始化一个新的会话,返回一个cURL句柄,供curl_setopt(), curl_exec()和curl_close() 函数使用。
curl_setopt($ch , CURLOPT_URL , $url);//需要获取的URL地址,也可以在curl_init()函数中设置。
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);//使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,//而不是直接输出。这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true
curl_setopt($ch , CURLOPT_POST, 1);//发送一个POST请求
curl_setopt($ch , CURLOPT_POSTFIELDS, $file_data);//传递一个关联数组,生成multipart/form-data的POST请求
$output = curl_exec($ch);//发送请求获取结果
curl_close($ch);//关闭会话
return $output;//返回结果
返回结果:
{"media_id":"***","url":"http:***"
}
PHP通过CURL上传图片(微信公众号上传素材)相关推荐
- Java 微信公众号上传永久素材的方法
用 Java 实现微信公众号上传永久素材,代码如下: /*** 上传其他永久素材(图片素材的上限为5000,其他类型为1000)* @param appid* @param secret* @retu ...
- 封装微信公众号上传照片方法
1.微信公众号上传照片方法 wxPic.js // 弹出提示消息的组件 import { Toast } from "vant"; // 微信JS-SDK文件,微信开发者官方有 i ...
- 怎样在微信公众号上传附件给别人下载?
怎样在微信公众号上传附件给别人下载? 我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序"微附件"进行在公众号 ...
- 如何在微信公众号上传附件给粉丝下载
4月21日,义务教育课程方案和课程标准(2022年版)发布,一个教育机构的朋友跑过来问我,怎么才能在公众号中上传附件文档给公众号粉丝下载.她从事新媒体运营3年的时间多,算是半个运营老鸟了,平常他们公司 ...
- 如何在微信公众号上传PDF文件?
微信公众号存在的目的是为粉丝创造价值,为粉丝提供一定的帮助是有必要的,对于不同类型的人,我们可以为就业人提供申请表,为学习的同学们提供学习资料等等. 那对于很多公众号文章而言,那我们该如如何实现在微信 ...
- java公众号图片上传_java微信公众号上传下载图片,springmvc demo
[实例简介] 微信上传下项目使用说明: 1.本项目适合学习springmvc学者(springmvc demo), url(http://localhost:8082/com.demo.weixin/ ...
- java公众号上传素材及发送图文消息实现
微信公众号先上传素材,再推送消息java代码实现: 首先公众号的图文消息是可以登录公众号,然后去管理--素材管理 下面去手动添加图文,图片,视频,音乐素材的.这样添加的素材属于永久素材. 用java ...
- 微信公众号上传文件附件教程
公众号发展多年,已有不少企业和学校把公众号当做信息发布的窗口,公众号发布文章固然方便,但碰上需要在文中/文末添加附件,不少同学就犯难了. 公众号并不支持携带附件发表,超链接也是大部分公众号不支持的能力 ...
- 微信公众号-上传永久素材-中文文件名乱码 问题记录
参考链接:https://blog.csdn.net/kookob/article/details/46914777 参考链接的 参考原文链接如下: http://blog.csdn.net/feng ...
最新文章
- ie浏览器自带小眼睛是什么用的_茅台酒自带的小杯子有什么用?是用来喝酒的嘛?...
- 使用putty在linux主机和windows主机之间拷贝文件(已测试可执行)
- FileWriter和FileReader解析
- 如何java面试_短时间如何过java面试?
- php如何查询本周的数据,php、mysql查询当天,查询本周,查询本月的数据实例
- 【OCR技术】字符识别技术总览
- java接口返回类,Java接口和返回类型 - java
- 2.数据结构 --- 线性表
- VCenter 5.5 数据库过大造成的问题和解决方法
- 【通俗易懂的通信】贝叶斯公式 全概率公式 及其理解
- md5加密算法~Java语言实现
- AIC(最小信息化准则)
- 数仓工具—Hive的数据组织管理方式(4)
- Unity 游戏实例开发集合 之 FlappyBird (像素鸟) 休闲小游戏快速实现
- 小程序-腾讯视频插件
- 无限火力跳跳机器人_英雄联盟无限火力小拳拳升降机蒸汽机器人
- Liquid Warping GAN 水记
- STM32点亮led的详细步骤
- win7+VS2008 System.Runtime.InteropServices.COMException
- 古为今鉴——为臣(为属)之道