时间:2021-07-01 10:21:17 帮助过:34人阅读
valid();
$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)){
/* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
the best way is to check the validity of xml by yourself */
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$type=$postObj->MsgType;
$customevent=$postObj->Event;
$latitude=$postObj->Location_X;
$l
$textTpl = "
%s
0
";
//发送位置回复
if($type=="location"){
$c
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}
//关键字回复
if(!empty( $keyword ))
{
$msgType = "text";
if($keyword=="1") {
$contentStr = "感谢关注泛IT!";}
if($keyword=="2") {
$contentStr = "联系QQ:,欢迎投稿以及提出宝贵意见";}
if($keyword=="3") {
$contentStr = "你的图片不错,还是输入文字吧!";}
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo "Input something...";
}
//关注公众号后回复
if($type="event" and $customevent="subscribe"){
$c
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}
//图片回复
if($type="image"){
$c
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
} //switch语句优化
/* switch($type) { //处理文本 case "text": //关键字回复 if(!empty( $keyword )) { //$msgType = "text"; if($keyword=="1") { $contentStr = "回复1查看使用说明\n回复2查看联系方式\n回复3使用翻译字典\n回复4使用机器人聊天功能";} if($keyword=="2") { $contentStr = "联系QQ:,欢迎投稿以及提出宝贵意见";} }else{ $c } break; //处理图片信息 case "image": $c break; //处理位置信息 case "location": $c break; //处理关注事件 case "event": if($customevent=="subscribe") {$c break; default: $c } $msgType = "text"; $resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr); echo $resultStr; */}else { echo ""; exit; }}private function checkSignature(){ // you must define TOKEN by yourself if (!defined("TOKEN")) { throw new Exception('TOKEN is not defined!'); } $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN;$tmpArr = array($token, $timestamp, $nonce); // use SORT_STRING rulesort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}}?>
以上就介绍了php微信开发01,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。