php微信上传图文素材,php使用curl 上传微信公共平台素材文件
最近在做一个项目,是一个微信相关的平台,需要获取和新增一些素材文件,这里就需要通过接口来上传文件,经过各种测试,下面把程序写出来,供大家参考。
先写一个curl 模拟post 提交的函数://$url : 接口地址 $param : 上传数据
function http_post($url,$param){
$oCurl = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, false);
}
$strPOST = $param;
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($oCurl, CURLOPT_POST,true);
curl_setopt($oCurl, CURLOPT_POSTFIELDS,$strPOST);
$sContent = curl_exec($oCurl);
$aStatus = curl_getinfo($oCurl);
curl_close($oCurl);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
return false;
}
}
接下来,我看下微信公共平台上,是怎么描述这个接口的:
通过POST表单来调用接口,表单id为media,包含需要上传的素材内容,有filename、filelength、content-type等信息
通过测试,只包含文件的路径也是可以上传的$data['media'] = "@/www/file/test.png";//必须是绝对路径,或者相对网址的路径例如 ./file/test.png,就是说,这个文件一定要程序能访问到
官方提出 form-data中媒体文件标识,有filename、filelength、content-type等信息 然后可以这样写:$data['media'] = "@/www/file/test.png;type=image;filename=test.png;filelength=1024;content-type=image/png";
说明:type 值有:图片(image)、语音(voice)、视频(video)和缩略图(thumb)
filename 文件上传后,设置的名称
filelength 文件大小
content-type 文件类型
接下来,调用函数上传://上传文件curl 不需要json 数据,直接数组
$result = http_post($url,$data);
if($result){
$json = json_decode($result,true);
if (!$json || isset($json['errcode'])) {
$errCode = $json['errcode'];
$errMsg = $json['errmsg'];
echo '上传失败';
}
// $result 为上传成功后返回的信息;
}else{
echo '上传失败';
}
网上有些信息,是将form-data 设为一个数组,这样是不对的,如下:
$data['media'] = "@/www/file/test.png";
$data['form-data '] = array('filename'=>'test.png');
这种方法是错误,经过测试,请注意。
php微信上传图文素材,php使用curl 上传微信公共平台素材文件相关推荐
- php curl文件上传,在 php 中通过 CURL 上传文件
1.使用 CURL 默认的方法$file = realpath('gif/1.gif'); //要上传的文件 $fields['f'] = '@'.$file; $ch = curl_init(); ...
- php 上传二进制图片,关于PHP CURL上传二进制流图片
推荐:"PHP视频教程" 前言项目中的模块数据由PHP爬虫更新.检测到新图片需要上传到跨区域CDN回传服务器(静态资源服务器),服务器管理器只提供上传API 解决方案1.本地保存图 ...
- php上传图文,php+ajax实现异步上传图文功能详解
这篇文章主要为大家详细介绍了php+ajax实现异步上传文件或图片功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文为大家分享了ajax异步上传文件或图片功能的具体代码,供大家参考,具体内容 ...
- java 微信群发多图文_能使用Java,在 微信公众号中实现同时给多个用户发送同一个图文消息吗?xml中的fromusername应该怎么填?...
你调用接口都不监视接口返回的数据么,你这样调用接口会直接返回错误提示 touser就写一个openID 用for循环处理,脑壳别太死板了 public static void sendall(Lis ...
- 微信上传图文消息素材40007,invalid media_id hint
上传图文消息素材40007,invalid media_id hint,微信40007 >>>>>>>>>>>>>> ...
- 微信上传图文素材接口报41005错误解决方法
微信上传图文素材接口报41005错误解决方法 参考文章: (1)微信上传图文素材接口报41005错误解决方法 (2)https://www.cnblogs.com/gy1010/p/6674529.h ...
- java上传图文消息_微信公众号开发之上传图文消息素材(十二)
群发消息太重要了,公众号管理员需要定期通过公众号群发一些消息,用户通过推送的消息可以定期了解公众号的最新信息. 群发图文消息的过程如下: 首先,预先将图文消息中需要用到的图片,使用上传图文消息内图片接 ...
- 微信高级群发之一上传图文消息素材
/** * uploadNews(List<MessageIn> messageInfos)上传图文消息素材,最多上传10个图文* accessToken:(ACCESS_TOKEN长期有 ...
- 微信公众号开发之上传图文消息素材(十二)
群发消息太重要了,公众号管理员需要定期通过公众号群发一些消息,用户通过推送的消息可以定期了解公众号的最新信息. 群发图文消息的过程如下: 首先,预先将图文消息中需要用到的图片,使用上传图文消息内图片接 ...
- 微信公众号数据2019_如何制作微信公众号图文素材 微信公众号采集器好用吗
现在有很多人都会通过微信公众号来发布文章.图片,这时候就需要使用一些编辑技巧了.下面拓途数据就和大家一同来看看如何制作微信公众号图文素材,微信公众号采集器好用吗? 微信公众号图文素材 如何制作微信公众 ...
最新文章
- lintcode :Remove Duplicates from Sorted Array II 删除排序数组中的重复数字 II
- OpenGL程序管道,可分离程序和着色器子例程的基本用法
- 史海峰:构建产业互联网金融系统的正确姿势
- [网络编程] - MIME格式详细介绍[转]
- python基本数据类型float_Python基本数据类型
- adb shell 命令之----pm
- 家庭的和谐稳定由什么决定?
- 大到创业,小到做一份副业
- [PyTorch] 安装
- shouldComponentUpdate 的作用
- 保存远程图片到本地 同时取得第一张图片并创建缩略图
- CSS3之box-shadow(阴影)和border属性
- 算法基础:基本数据结构的特点:队列 vs 栈
- Android裁剪系统
- CVPR2020 3D点云相关论文思想和方法总结
- gamma correct blurring
- Unity实时GI与烘焙GI
- 删除有外键关联的表报错,Cannot delete or update a parent row: a foreign key constraint fails
- windows server 2008r2 更新失败解决方案
- Linux下同型号USB相机端口绑定
热门文章
- 虚拟机ubuntu16.04下cheese 摄像头黑屏花屏问题
- Oblog 4.5-4.6 accessmssql getshell 0day
- 用来向服务器发送邮件的协议是,电子邮件协议中用于发送邮件的协议是
- c语言如何检测磁盘坏扇区,解决方案:如何检测和修复机械硬盘驱动器上的坏扇区?阅读本文后,您将知道...
- 【自用】图像算法、计算机视觉面试问题及答案1.0
- GO语言-panic和recover
- 终于把所有的 Python 库都整理出来啦
- 移动硬盘在电脑上显示为本地磁盘并且出现打不开的情况
- windows配置指定网段流量走虚拟专用网络
- Java利用NeteaseCloudMusicApi批量下载网易云音乐