本人自己用PHP原生开发的微信SDK包,有兴趣得可以了解一下。可以通过composer安装,或者码云下载。感兴趣的可以加Q群:735713840 相互讨论

使用详情见 index.php 文件内注释

开发中使用本人申请的微信测试号,如需自己体验可前往 微信测试号申请地址 申请

项目还在开发阶段,如遇问题请联系我.

目录结构

|—— cache 文件缓存驱动存储空间

|—— lib 包主文件夹

| |—— cache 缓存驱动

| |—— core 核心文件

| |—— http 接口请求驱动

| |—— Cache.php 缓存类文件

| |—— Config.php 配置获取类

| |—— Http.php 接口请求类

| |—— Wechat.php 主类

|—— vendor composer依赖

|—— config.php 配置文件

|—— index.php 方法示例描述

安装方法 composer require taurus12c/wechat

使用方法

1、开始

配置好包根目录的config.php文件,导入Wechat类,完成微信开发

use wechat\lib\Wechat;

实例化对象

$wechat = new Wechat();

2、鉴权

接口配置服务器验证方法。一般只需用到一次

$wechat->checkSignature();

获取微信全局access_token,公众号给类接口调用时所用的access_token

$global_access_token = $wechat->getGlobalAccessToken();

微信网页授权获取用户信息

$userInfo = $wechat->getUserInfo();

单独获取用户openid,此获取不跳转用户授权界面,静默授权

$openid = $wechat->getOpenId();

2、自定义菜单

//设置公众号菜单,方法形参$data强制数组,返回bool型。菜单设置方式请遵从微信自定义菜单规则

$data = [

"button"=>[

[

"name" =>"按钮一",

"type" =>"view",

"url" =>"http://www.baidu.com",

],

[

"name" =>"按钮二",

"sub_button" =>[

[

"name" =>"二级菜单1",

"type" =>"view",

"url" =>"http://www.baidu.com"

]

]

]

]

];

$setMenu = $wechat->menu->setMenu($data);

获取当前自定义菜单设置

$getMenu = $wechat->menu->getMenuInfo();

删除自定义菜单

$delMenu = $wechat->menu->delMenu();

设置个性化菜单,data菜单设置样式,data菜单设置样式,matchrule个性化菜单匹配规则,返回bool型,详情微信手册

$data = [

"button"=>[

[

"name" =>"按钮一",

"type" =>"view",

"url" =>"http://www.baidu.com",

],

[

"name" =>"按钮二",

"sub_button" =>[

[

"name" =>"二级菜单1",

"type" =>"view",

"url" =>"http://www.baidu.com"

]

]

]

],

];

$matchrule = [

"matchrule"=>[

"tag_id"=> "2",

"sex"=> "1",

"country"=> "中国",

"province"=> "广东",

"city"=> "广州",

"client_platform_type"=> "2",

"language"=> "zh_CN"

]

];

$setMenuConditional = $wechat->menu->setMenuConditional($data,$matchrule);

获取个性化菜单设置

$getMenuConditionalInfo = $wechat->getMenuConditionalInfo();

3、消息管理

接收用户发来的消息,返回数组类型数据,数据内容见微信开发文档

$msg = $wechat->getMsg();

被动回复文本消息,参数1:接收方openid 参数2:开发者openid 参数3:发送内容,以下使用接收来的数据

$sendText = $wechat->sendText($msg['FromUserName'],$msg['ToUserName'],'您发送的内容是:'.$msg['Content']);

被动回复图片消息,参数1:接收方openid 参数2:开发者openid 参数3:上传的图片素材id

$sendImg = $wechat->sendImg($toUserName,$fromUserName,$mediaId);

被动回复语音消息,参数1:接收方openid 参数2:开发者openid 参数3:上传的语音素材id

$sendVoice = $wechat->sendVoice($toUserName,$fromUserName,$mediaId);

被动回复视频消息,参数1:接收方openid 参数2:开发者openid 参数3:数组(格式见下方参考)

$content = [

'title' => '', //标题

'desc' => '', //描述

'mediaId' => '', //上传的素材ID

];

$sendVideo = $wechat->sendVoice($toUserName,$fromUserName,$content);

被动回复音乐消息,参数1:接收方openid 参数2:开发者openid 参数3:数组(格式见下方参考)

$content = [

'title' => '', //标题

'desc' => '', //描述

'url' => '', //音乐链接

'Hurl' => '', //高品质音乐链接,WIFI状态下默认播放这个

'thumbMediaId' => '', //消息缩略图,上传的图片素材ID

];

$sendMusic = $wechat->sendVoice($toUserName,$fromUserName,$content);

被动回复图文消息,参数1:接收方openid 参数2:开发者openid 参数3:数组(格式见下方参考)

$articles = [

'第一篇' => [

'title' => '', //标题

'desc' => '', //描述

'picurl' => '', //缩略图url

'url' => '', //点击跳转页面url

],

'第二篇' => [],

'第三篇' => [],

... //一次性最多发送8篇,数量限制详情见微信开发文档

];

$sendNews = $wechat->sendNews($toUserName,$fromUserName,$articles);

4、素材管理

素材上传提示

图片(image): 2M,支持PNG\JPEG\JPG\GIF格式

语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式

视频(video):10MB,支持MP4格式

缩略图(thumb):64KB,支持JPG格式

上传图片临时素材文件,参数1:文件路径。返回json格式字符串数据内容见微信开发手册

$tempMedia = $wechat->media->addImgTempMedia($filepath);

上传语音临时素材文件,参数1:文件路径。返回json格式字符串数据内容见微信开发手册

$tempMedia = $wechat->media->addVoiceTempMedia($filepath);

上传视频临时素材文件,参数1:文件路径。返回json格式字符串数据内容见微信开发手册

$tempMedia = $wechat->media->addVideoTempMedia($filepath);

上传缩略图临时素材文件,参数1:文件路径。返回json格式字符串数据内容见微信开发手册

$tempMedia = $wechat->media->addThumbTempMedia($filepath);

获取临时素材,参数1:素材media_id 图片素材返回图片文件流字符串 视频素材返回json格式字符串包含视频url地址。以下示例将获取的图片素材文件流保存为本地文件

$getTempMedia = $wechat->media->getTempMedia($media_id);

$file = fopen('test.jpg','w+');

fwrite($file,$getTempMedia);

fclose($file);

获取jssdk上传的高清语音

$getJssdkMedia = $wechat->media->getJssdkMedia($media_id)

上传图片永久素材

$addImgMaterial = $wechat->media->addImgMaterial($file);

上传语音永久素材

$addVoiceMaterial = $wechat->media->addVoiceMaterial($file);

上传永久视频素材,参数1:文件路径 参数2:视频标题 参数3:视频描述

$addVideoMaterial = $wechat->media->addVideoMaterial($file,$title,$introduction);

上传永久缩略图素材

$addThumbMaterial = $wechat->media->addThumbMaterial($file);

上传图文永久素材,参数1:图文内容数组,返回素材media_id

$articles = [

[

"title" => 'TITLE', //标题

"thumb_media_id" => 'THUMB_MEDIA_ID', //图文消息的封面图片素材id(必须是永久mediaID)

"author" => 'AUTHOR', //作者

"digest" => 'DIGEST', //图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空。如果本字段为没有填写,则默认抓取正文前64个字。

"show_cover_pic" => 'SHOW_COVER_PIC(0 / 1)',//是否显示封面,0为false,即不显示,1为true,即显示

"content" => 'CONTENT', //图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS,涉及图片url必须来源 "上传图文消息内的图片获取URL"接口获取。外部图片url将被过滤。

PHP微信开发素材管理,PHP微信开发包,微信开发SDK相关推荐

  1. ESP8266 Arduino 解决开发板管理器下载开发包失败和速度慢的方法

    一.问题原因 在Arduino中想要下载esp8266开发包,发现下载失败,或者下载速度很慢 第一个想到的解决方法应该是找个代理网络,但是太麻烦. 第二个是不在开发板里面下载,下载外部的esp8266 ...

  2. 公众号开发素材管理效果演示-微信开发素材管理1

    你在微信公众号文章中, 看到丰富多彩的内容, 像图片,视频,语音这些类型的素材. 这些素材我们不能从你的web服务器直接使用, 而是要把它们上传到微信服务器, 然后再使用. 所以接下来子恒老师跟你分享 ...

  3. mp.weixin.php,GitHub - temberature/mp-php-sdk: 微信公众平台第三方授权php开发包, weixin mp developer SDK....

    mp-php-sdk 微信公众平台第三方授权php开发包, weixin mp developer SDK. 依赖https://github.com/dodgepudding/wechat-php- ...

  4. 敏捷开发绩效管理之一:序言及“敏捷开发是否考核个人”(绩效考核)

    这是敏捷开发绩效管理的第一篇.(之一,之二,之三,之四,之五,之六,之七) "敏捷开发绩效管理"本身是个伪命题,因为敏捷开发本身不想涉及绩效管理,这就像"C++绩效管理& ...

  5. 公众号开发素材管理,php删除微信素材

    微信开发的素材管理中, 由于临时素材3天后, 微信服务器会自动删除, 所以这一节课程中的删除素材功能, 只针对微信的永久素材- 公众号开发删除素材管理视频教程在线观看 http://edu.csdn. ...

  6. android studio开发工具介绍,Android应用开发之Android开发工具介绍、Android Studio配置...

    本文将带你了解Android应用开发之Android开发工具介绍.Android Studio配置,希望本文对大家学Android有所帮助. 2.1   Android Studio配置 2.1.1 ...

  7. 信息系统开发与管理【三】之 系统开发方法概述

    感谢内容提供者:金牛区吴迪软件开发工作室 接上一篇:信息系统开发与管理[二]之 管理信息系统的基本知识 文章目录 一.管理信息系统开发的基本问题 1.系统开发具备的条件 2.系统开发前的准备工作 3. ...

  8. jqueyr开发实现公众号上传永久视频页面--微信开发素材管理4

    微信素材管理中, 上传永久视频素材时, 需要把视频的标题和介绍都填写完整, 为了与上一节课的表单结合, 需要实现当选择为永久视频时, 表单中需要出现视频标题,介绍的输入框, 无没有选择时, 需要隐藏上 ...

  9. php上传公众号临时素材-微信开发素材管理6

    微信公众平台中, 临时素材是一种重要的素材, 它的特点是: 1. 没有数量限制,你可以上传任意数量的临时素材 2. 微信服务器保存时间短,只有3天,到期后media_id就不能使用了 这一节课程中, ...

最新文章

  1. 解决Wamp 开启vhost localhost 提示 403 Forbbiden 的问题!
  2. MATLAB对比度调节工具
  3. 8 list切片_P018 python基础:数据类型之列表切片02
  4. 【PP操作手册】成品入库和订单报工
  5. ACM 会场安排问题
  6. 使用Popup窗口创建无限级Web页菜单(5)
  7. centos7 禁止ip访问_centos7.6版本限制某个IP访问指定端口
  8. 【Oracle】创建概要文件
  9. java实现pdf转word
  10. web 使网站在浏览器中全屏显示 fullscreen=yes
  11. 对冲之王 - 华尔街量化投资传奇 读后感
  12. 内网渗透- *** PTH(传递哈希)***PTT(传递票据)***PTK(传递密钥)
  13. 笔记本HDMI1.4 1080p下外接高刷显示器的实现方法之一
  14. 华为高姐寄来的新年礼物
  15. 迅雷的地址解析--把自己的下载地址变成迅雷链接
  16. tomcat 设置缓存大小
  17. 【麒麟操作系统】命令行下配置网卡及DNS
  18. Jim Keller:在指令集上辩论是一件悲哀的事情
  19. c++practice
  20. 美国华盛顿州立大学计算机排名,华盛顿州立大学计算机科学computer science专业排名第251~300名(2020THE泰晤士高等教育世界大学排名)...

热门文章

  1. About Spreadsheets
  2. 设置Jenkins语言为中文或英文
  3. 传统零售和新零售的本质区别
  4. 昌乐一中2021年高考成绩查询,喜 报
  5. java 笔记本i7 i5_笔记本i7低压cpu性能抵不过i5标压cpu,为什么还叫i7
  6. 【Nanopi2试用体验】开箱+VNC等
  7. 利用CUDA查看多张显卡可用显存和总显存大小
  8. java 发送邮件 ip被网易拉黑,发信IP或者发件人地址被网易加入了黑名单,原因如下及解决方法!...
  9. 2022牛客寒假算法基础集训营4 B、 G两题
  10. 立即注册 | 甲骨文云技术嘉年华重磅开启,全球云大会精彩再现!