微信开发自动回复功能,消息类型判断失败,PHP语言
编写自动回复,针对用户不同消息类型做出回复,程序怎么调都有问题额。
问题:无论我发送什么消息,文本也好,图片也好,语音也好,都只回复“我只接收图片消息”,也就是说程序似乎不执行
if(strtolower($msgType) =="image"){..............}这一判断.
求各位大神看一下~~~~
<?php// wechat php //define your token定义接口define("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();$wechatObj ->GetImageMsg();//这个要调用自动回复消息!!$wechatObj->valid();class wechatCallbackapiTest{//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>接口验证>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()){ header('content-type:text');//在微信样本代码上添加了如此语句,因而接口接成功 echo $echoStr; 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 rule sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } }//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>自动回复消息>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> public function GetImageMsg()//自动回复消息 { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)) { libxml_disable_entity_loader(true); $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $msgType=$postObj->$MsgType; $picUrl=trim($postObj->PicUrl); $mediaId=trim($postObj->MediaId); $time = time(); $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; if(strtolower($msgType) =="image") { if(!empty($picUrl)){ $msgType ="text"; $contentStr = "图片链接:".$picUrl."\n"; $contentStr =$contentStr."媒体ID:".$mediaId; }else{ $contentStr = "请发送图片哦"; } }else{ $msgType ="text"; $contentStr = "我只接收图片消息"; } $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; } else { echo ""; exit; } } }?>
回复讨论(解决方案)
可能65行应该是$msgType=$postObj->MsgType;这个吧
多了个$???
可能65行应该是$msgType=$postObj->MsgType;这个吧
多了个$???

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在PHP語言開發中,請求頭錯誤通常是由於HTTP請求中的一些問題導致的。這些問題可能包括無效的請求頭、缺少的請求體以及無法辨識的編碼格式等。而正確處理這些請求頭錯誤是確保應用程式穩定性和安全性的關鍵。在本文中,我們將討論一些處理PHP請求頭錯誤的最佳實踐,以幫助您建立更可靠且安全的應用程式。檢查請求方法HTTP協定規定了一組可用的請求方法(例如GET、POS

PHP是一種非常受歡迎的程式語言,它允許開發者創建各種各樣的應用程式。但是,有時在編寫PHP程式碼時,我們需要處理和驗證字元。這時候PHP的Ctype擴充就可以派上用場了。本文將就如何使用PHP的Ctype擴充展開介紹。什麼是Ctype擴充? PHP的Ctype擴充功能是一個非常有用的工具,它提供了各種函數來驗證字串中的字元類型。這些函數包括isalnum、is

隨著網路技術的發展,越來越多的網站和應用程式使用PHP語言進行開發。然而,安全問題也隨之而來。其中一個常見的安全問題就是路徑遍歷漏洞。在這篇文章中,我們將探討在PHP語言開發中如何避免路徑遍歷漏洞,以確保應用程式的安全性。什麼是路徑遍歷漏洞?路徑遍歷漏洞(PathTraversal)是一種常見的Web漏洞,它可以讓攻擊者在沒有授權的情況下存取Web伺服器

在PHP程式設計中,Behat是一個非常有用的工具,它可以幫助程式設計師在開發過程中更好地理解業務需求,並保證程式碼的品質。在本文中,我們將介紹如何在PHP程式設計中使用Behat。一、Behat是什麼? Behat是一個行為驅動開發(BDD)框架,它透過語言的描述方式(由Gherkin語種編寫的用例)與PHP程式碼耦合,從而實現了程式碼和業務需求的協同工作。使用Behat做

在現代開發中,單元測試已成為必要的一步。它可以用來確保你的程式碼符合預期,並能在任何時候及時修復錯誤。在PHP開發中,Phpt是一種非常受歡迎的單元測試工具,編寫和執行單元測試非常方便。在本文中,我們將探討如何使用Phpt進行單元測試。一、什麼是PhptPhpt是一個簡單但強大的單元測試工具,它是PHP測試的一部分。 Phpt測試用例是一系列的PHP原始碼片段,其

在PHP語言開發中,常常需要解析JSON數據,以便進行後續的數據處理與操作。然而,在解析JSON時,很容易遇到各種錯誤和問題。本文將介紹常見的錯誤和處理方法,幫助PHP開發者更好地處理JSON資料。一、JSON格式錯誤最常見的錯誤是JSON格式不正確。 JSON資料必須符合JSON規範,即資料必須是鍵值對的集合,並使用大括號({})和中括號([])來包含資料。

智能合約(SmartContract)是一種基於區塊鏈的自動化交易程序,可實現自動化執行、驗證和執行交易。智能合約可以減少交易中的人為幹擾,提高交易的安全性和效率。在不同的區塊鏈中,智能合約的實現方式略有不同。本文將介紹在PHP中如何實現智能合約。 PHP是一種廣泛使用的程式語言,特別適合Web開發。 PHP有著成熟的開源生態系統,以及許多可靠的框架和函式庫。在

php語言支援3種註解風格:1、C++風格,使用「//」符號,語法「//註解內容」;2、C語言風格,使用「/* */」符號,語法「/* 註解內容* /”;3、Shell風格(Perl風格),使用“#”符號,語法“#註釋內容”。
