php微信公眾號開發(fā)之圖片回復(fù)
本文實(shí)例為大家分享了php微信公眾號開發(fā)之圖片回復(fù)的具體代碼,供大家參考,具體內(nèi)容如下
圖片回復(fù)
隨機(jī)函數(shù):
rand(1,10)

核心代碼:
$tyep= $postObj->MsgType;
$textTpl = "
<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if ($tyep=="image")
{
$a=rand(1,3);
switch ($a)
{
case "1";
$b="健康好人緣,婚姻幸福美滿";
break;
case "2";
$b="貴人相助化險(xiǎn)為夷的好運(yùn)紋";
break;
default;
$b="才華橫溢好研究,知識豐富事業(yè)有成";
}
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$b);
echo $resultStr;
}
index.php代碼如下:
<?php
/**
* wechat php test
*/
//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->responseMsg();
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
//valid signature , option
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
public function responseMsg()
{
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//extract post data
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$tyep= $postObj->MsgType;
$textTpl = "
<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if ($tyep=="image")
{$a=rand(1,3);
switch ($a)
{case "1";
$b="健康好人緣,婚姻幸福美滿";
break;
case "2";
$b="貴人相助化險(xiǎn)為夷的好運(yùn)紋";
break;
default;
$b="才華橫溢好研究,知識豐富事業(yè)有成";
}
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$b);
echo $resultStr;
}
}else {
echo "";
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫示例【基于ThinkPHP5.1搭建的項(xiàng)目】
這篇文章主要介紹了PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫,結(jié)合實(shí)例形式分析了基于ThinkPHP5.1框架使用pdo_odbc連接數(shù)據(jù)庫相關(guān)操作步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05
Yii2框架數(shù)據(jù)驗(yàn)證操作實(shí)例詳解
這篇文章主要介紹了Yii2框架數(shù)據(jù)驗(yàn)證操作,結(jié)合實(shí)例形式詳細(xì)分析了Yii框架常見數(shù)據(jù)驗(yàn)證操作的原理、實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
Laravel 5框架學(xué)習(xí)之環(huán)境與配置
本文給大家主要介紹的是Laravel5框架中的環(huán)境配置,給大家詳細(xì)介紹了.env的配置文件,包含的數(shù)據(jù)庫配置信息的詳細(xì)解釋,這里推薦給大家,有需要的小伙伴參考下。2015-04-04
thinkphp5.1的model模型自動更新update_time字段實(shí)例講解
這篇文章主要介紹了thinkphp5.1的model模型自動更新update_time字段實(shí)例講解,文章代碼示例比較簡單實(shí)用,有正在學(xué)習(xí)tp的同學(xué)可以跟著小編好好閱讀下2021-03-03
常見的5個(gè)PHP編碼小陋習(xí)以及優(yōu)化實(shí)例講解
這篇文章主要介紹了常見的5個(gè)PHP編碼小陋習(xí)實(shí)例講解,講解了常見寫法和優(yōu)化方法,看一下是否自己也是這樣寫的呢2021-02-02
Thinkphp 在api開發(fā)中異常返回依然是html的解決方式
今天小編就為大家整理了一篇Thinkphp 在api開發(fā)中異常返回依然是html的解決方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10

