php 微信开发

  • E2_391487
    了解作者
  • 67KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-18 05:03
    上传日期
微信开发代码实例 超全 超清晰,轻松带你走进微信大门
code-03.rar
  • 代码
  • curl
  • uploads
  • fbfa8f0d40014d134987fed99f61fb02.jpg
    19.8KB
  • db20bf827d43fb4c617abcfbed6121a0.jpg
    19.8KB
  • access_token.php
    697B
  • curl-GET.php
    405B
  • curl-GET2.php
    580B
  • lisheng.jpg
    19.8KB
  • curl-POST2.php
    646B
  • curl-POST.php
    811B
  • upload.php
    2.1KB
  • access_token.php
    774B
  • 微信公众平台基础接口PHP SDK.php
    9.2KB
  • weather.php
    1003B
内容介绍
<?php /** * * @authors 云知梦-军哥 * @email zhanglijun@lampym.com * @date 2014-08-17 16:17:02 * @link http://www.lampym.com * @version 1.0 * @course 《军哥带你玩转微信开发》系列教程之初级篇 */ //微信公众平台基础接口PHP SDK (面向过程版) define("TOKEN","weixin"); if(!isset($_GET['echostr'])) { //调用响应消息函数 responseMsg(); } else { //实现网址接入,调用验证消息函数 valid(); } //验证消息 function valid(){ if(checkSignature()) { $echostr = $_GET["echostr"]; echo $echostr; exit; } else { echo "error"; exit; } } //检查签名 function checkSignature() { //获取微信服务器GET请求的4个参数 $signature = $_GET['signature']; $timestamp = $_GET['timestamp']; $nonce = $_GET['nonce']; //定义一个数组,存储其中3个参数,分别是timestamp,nonce和token $tempArr = array($nonce,$timestamp,TOKEN); //进行排序 sort($tempArr,SORT_STRING); //将数组转换成字符串 $tmpStr = implode($tempArr); //进行sha1加密算法 $tmpStr = sha1($tmpStr); //判断请求是否来自微信服务器,对比$tmpStr和$signature if($tmpStr == $signature) { return true; } else { return false; } } //响应消息 function responseMsg(){ //根据用户传过来的消息类型进行不同的响应 //1、接收微信服务器POST过来的数据,XML数据包 $postData = $GLOBALS[HTTP_RAW_POST_DATA]; if(!$postData) { echo "error"; exit(); } //2、解析XML数据包 $object = simplexml_load_string($postData,"SimpleXMLElement",LIBXML_NOCDATA); //获取消息类型 $MsgType = $object->MsgType; switch ($MsgType) { case 'event': receiveEvent($object); break; case 'text': //接收文本消息 echo receiveText($object); break; case 'image': //接收图片消息 echo receiveImage($object); break; case 'location': //接收地理位置消息 echo receiveLocation($object); break; case 'voice': //接收语音消息 echo receiveVoice($object); break; case 'video': //接收视频消息 echo receiveVideo($object); break; case 'link': //接收链接消息 echo receiveLink($object); break; default: break; } } //接收事件推送 function receiveEvent($obj){ switch ($obj->Event) { //关注事件 case 'subscribe': //扫描带参数的二维码,用户未关注时,进行关注后的事件 if(!empty($obj->EventKey)){ //做相关处理 } $dataArray = array( array( "Title"=>"军哥带你玩转微信开发", "Description"=>"this is a test", "PicUrl"=>"http://yunkt.qiniudn.com/wxdzp_bg.jpg", "Url"=>"http://2.lampym.vipsinaapp.com/index.php/bigwheel" ), array( "Title"=>"晋赶1", "Description"=>"this is a test", "PicUrl"=>"https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgeticon?seq=621086533&username=gh_94ffcda815ac&skey=@crypt_d061de04_614219ccb4b916b642d16bcd4b795e4f", "Url"=>"http://2.lampym.vipsinaapp.com/index.php/bigwheel" ), ); // echo replyText($obj,"欢迎你关注军哥带你玩转微信开发"); echo replyNews($obj,$dataArray); break; //取消关注事件 case 'unsubscribe': break; //扫描带参数的二维码,用户已关注时,进行关注后的事件 case 'SCAN': //做相关的处理 break; //自定义菜单事件 case 'CLICK': // switch ($obj->EventKey) { case 'FAQ': echo replyText($obj,"你的点击的是FAQ事件"); break; default: echo replyText($obj,"你的点击的是其他事件"); break; } break; } } //接收文本消息 function receiveText($obj){ //获取文本消息的内容 $content = $obj->Content; //发送文本消息 return replyText($obj,$content); } //接收图片消息 function receiveImage($obj) { //获取图片消息的内容 $imageArr = array( "PicUrl"=>$obj->PicUrl, "MediaId"=>$obj->MediaId ); //发送图片消息 return replyImage($obj,$imageArr); } //接收地理位置消息 function receiveLocation($obj) { //获取地理位置消息的内容 $locationArr = array( "Location_X"=>$obj->Location_X, "Location_Y"=>"地址位置经度:".$obj->Location_Y, "Label"=>$obj->Label ); //回复文本消息 return replyText($obj,$locationArr['Location_Y']); } //接收语言消息 function receiveVoice($obj){ //获取语言消息内容 $voiceArr = array( "MediaId"=>$obj->MediaId, "Format"=>$obj->Format ); //回复语言消息 return replyVoice($obj,$voiceArr); } //接收视频消息 function receiveVideo($obj){ //获取视频消息的内容 $videoArr = array( "MediaId"=>$obj->MediaId ); //回复视频消息 return replyVideo($obj,$videoArr); } //接收链接消息 function receiveLink($obj) { //接收链接消息的内容 $linkArr = array( "Title"=>$obj->Title, "Description"=>$obj->Description, "Url"=>$obj->Url ); //回复文本消息 return replyText($obj,"你发过来的链接地址是{$linkArr['Url']}"); } //发送文本消息 function replyText($obj,$content){ $replyXml = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; //返回一个进行xml数据包 $resultStr = sprintf($replyXml,$obj->FromUserName,$obj->ToUserName,time(),$content); return $resultStr; } //发送图片消息 function replyImage($obj,$imageArr){ $replyXml = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[image]]></MsgType> <Image> <MediaId><![CDATA[%s]]></MediaId> </Image> </xml>"; //返回一个进行xml数据包 $resultStr = sprintf($replyXml,$obj->FromUserName,$obj->ToUserName,time(),$imageArr['MediaId']); return $resultStr; } //回复语音消息 function replyVoice($obj,$voiceArr) { $replyXml = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[voice]]></MsgType> <Voice> <MediaId><![CDATA[%s]]></MediaId> </Voice> </xml>"; //返回一个进行xml数据包 $resultStr = sprintf($replyXml,$obj->FromUserName,$obj->ToUserName,time(),$voiceArr['MediaId']); return $resultStr; } //回复视频消息 function replyVideo($obj,$videoArr){ $replyXml = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[video]]></MsgType> <Video> <MediaId><![CDATA[%s]]></MediaId> </Video> </xml>"; //返回一个进行xml数据包 $resultStr = sprintf($replyXml,$obj->FromUserName,$obj->ToUserName,time(),$videoArr['MediaId']); return $resultStr; } //回复音乐消息 function replyMusic($obj,$musicArr) { $replyXml = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[music]]></MsgType> <Music> <Title><![CDA
评论
    相关推荐
    • php微信登录
      我在第一接触微信登录时,试了许多方法,也在网上搜索许多资料,但是对于微信登录,一直是云里来雾里去的整不明白,经历许多坑,也花费许多精力,为了让菜鸟们少走弯路,节约时间,我录制这个课程,我的原则就是用最...
    • 微信开发 PHP
      微信开发 PHP
    • 微信PHP开发框架LaneWeChat 1.5.3.zip
      LaneWeChat是一款基于PHP微信开发框架,高效开发微信公众号应用,简洁而又轻量。LaneWeChat 1.5.3 更新日志:2015-10-211、文件上传根据PHP版本增加了CURLFile()类。自PHP5.5以后,废弃了“@文件名”的...
    • kppwapi微信php开发源代码
      不包含微信api开发,就是一个开源的更新包和官网一致。 开源技术
    • 微信PHP代码
      微信PHP代码微信
    • 微信PHP代码示例
      微信公众平台 开发 PHP代码示例
    • 微信开发php
      微信开发 php代码 入门级,提供一个简单的php封装包,只限回复文本信息
    • 微信群发PHP
      微信群发代码,模拟登录微信公共平台,实现信息发送
    • 微信支付PHP
      公众号支付,扫码支付,查询订单,退款,异步回调等,已封装好,可直接调用
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档