这里以微信公众号素材管理为例。

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上传图片(微信公众号上传素材)相关推荐

  1. Java 微信公众号上传永久素材的方法

    用 Java 实现微信公众号上传永久素材,代码如下: /*** 上传其他永久素材(图片素材的上限为5000,其他类型为1000)* @param appid* @param secret* @retu ...

  2. 封装微信公众号上传照片方法

    1.微信公众号上传照片方法 wxPic.js // 弹出提示消息的组件 import { Toast } from "vant"; // 微信JS-SDK文件,微信开发者官方有 i ...

  3. 怎样在微信公众号上传附件给别人下载?

    怎样在微信公众号上传附件给别人下载? 我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序"微附件"进行在公众号 ...

  4. 如何在微信公众号上传附件给粉丝下载

    4月21日,义务教育课程方案和课程标准(2022年版)发布,一个教育机构的朋友跑过来问我,怎么才能在公众号中上传附件文档给公众号粉丝下载.她从事新媒体运营3年的时间多,算是半个运营老鸟了,平常他们公司 ...

  5. 如何在微信公众号上传PDF文件?

    微信公众号存在的目的是为粉丝创造价值,为粉丝提供一定的帮助是有必要的,对于不同类型的人,我们可以为就业人提供申请表,为学习的同学们提供学习资料等等. 那对于很多公众号文章而言,那我们该如如何实现在微信 ...

  6. java公众号图片上传_java微信公众号上传下载图片,springmvc demo

    [实例简介] 微信上传下项目使用说明: 1.本项目适合学习springmvc学者(springmvc demo), url(http://localhost:8082/com.demo.weixin/ ...

  7. java公众号上传素材及发送图文消息实现

    微信公众号先上传素材,再推送消息java代码实现: 首先公众号的图文消息是可以登录公众号,然后去管理--素材管理  下面去手动添加图文,图片,视频,音乐素材的.这样添加的素材属于永久素材. 用java ...

  8. 微信公众号上传文件附件教程

    公众号发展多年,已有不少企业和学校把公众号当做信息发布的窗口,公众号发布文章固然方便,但碰上需要在文中/文末添加附件,不少同学就犯难了. 公众号并不支持携带附件发表,超链接也是大部分公众号不支持的能力 ...

  9. 微信公众号-上传永久素材-中文文件名乱码 问题记录

    参考链接:https://blog.csdn.net/kookob/article/details/46914777 参考链接的 参考原文链接如下: http://blog.csdn.net/feng ...

最新文章

  1. ie浏览器自带小眼睛是什么用的_茅台酒自带的小杯子有什么用?是用来喝酒的嘛?...
  2. 使用putty在linux主机和windows主机之间拷贝文件(已测试可执行)
  3. FileWriter和FileReader解析
  4. 如何java面试_短时间如何过java面试?
  5. php如何查询本周的数据,php、mysql查询当天,查询本周,查询本月的数据实例
  6. 【OCR技术】字符识别技术总览
  7. java接口返回类,Java接口和返回类型 - java
  8. 2.数据结构 --- 线性表
  9. VCenter 5.5 数据库过大造成的问题和解决方法
  10. 【通俗易懂的通信】贝叶斯公式 全概率公式 及其理解
  11. md5加密算法~Java语言实现
  12. AIC(最小信息化准则)
  13. 数仓工具—Hive的数据组织管理方式(4)
  14. Unity 游戏实例开发集合 之 FlappyBird (像素鸟) 休闲小游戏快速实现
  15. 小程序-腾讯视频插件
  16. 无限火力跳跳机器人_英雄联盟无限火力小拳拳升降机蒸汽机器人
  17. Liquid Warping GAN 水记
  18. STM32点亮led的详细步骤
  19. win7+VS2008 System.Runtime.InteropServices.COMException
  20. 古为今鉴——为臣(为属)之道

热门文章

  1. 12天背诵楞严咒的技巧_如何背诵楞严咒?背诵楞严咒的诀窍
  2. GPU在AI业务中的核心技术与应用
  3. 第三章 非常高的水平层
  4. 保研院校、导师对比以及其方法论-V1
  5. 金蝶K/3系统结账前检查
  6. ClickHouse在工业互联网场景的OLAP平台建设实践
  7. mac os系统截屏快捷键
  8. 零代码可视化编程语言iVX是什么?
  9. Linux服务器配置与管理:Linux基础
  10. 计算机课是怎样查出勤的,基于计算机视觉技术的课堂自动考勤系统研究