首先请下载并安装鱼渔微信开发包。
官方文档参见:接收普通消息,为此开发包中会专门有一个教学文件tool/send_and_response.php,代码如下:
<?phprequire_once dirname(__FILE__) . '/../common/Common.php';$account = 'YUYU';$options = array('token'=>WEIXIN_TOKEN,'appid'=>$GLOBALS['APP_INFO'][$account]['appId'],'appsecret'=>$GLOBALS['APP_INFO'][$account]['appSecret'],'debug'=>(DEBUG == 'true')?true:false,'logcallback'=>'yuyuLog');$weObj = new YuyuWeChat($options);if (!$weObj->debug) $weObj->valid();$type = $weObj->getRev()->getRevType();switch($type) { case Wechat::MSGTYPE_TEXT: $response = $weObj->getRevContent(); $weObj->text($response)->reply_exit(); break; case Wechat::MSGTYPE_IMAGE: $response = $weObj->getRevPic(); $weObj->text($response)->reply_exit(); break; default: $weObj->text("help info")->reply();}?>
注意上述代码里的getRevPic函数,出自开发包中的common/wechat-php-sdk/wechat.html' target='_blank'>class.php:
/** * 获取接收消息图片 */ public function getRevPic(){ if (isset($this->_receive['PicUrl'])) return $this->_receive['PicUrl']; else return false; }判断接收消息中是否包含PicUrl,如果有,返回这个url,如果没有,返回fasle。然后通过text函数,组装成xml形式的文本消息,返回给微信服务器,详见下面的日志记录。
在run.php的最前面加上:
require_once dirname(__FILE__) . '/tool/send_and_response.php';exit;在手机微信里上传图片,结果如下:
日志依次如下:
观察上述日志,结论如下:
接收消息中的PicUrl中的一长串字符串和和MediaId之间没有关系。发送同一张图片两次,PicUrl相同,MsgId不同,MediaId不同。PHP编程郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答