国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ WeChat アプレット WeChatの開(kāi)発 PHP WeChat 開(kāi)発における WeChat メッセージへの自動(dòng)返信で発生した問(wèn)題

PHP WeChat 開(kāi)発における WeChat メッセージへの自動(dòng)返信で発生した問(wèn)題

Mar 21, 2017 pm 04:10 PM

この記事は、編集者があなたに紹介する WeChat メッセージの自動(dòng)返信で遭遇する落とし穴についてのものであり、日常のプロジェクト開(kāi)発でよく遭遇するものであり、非常に參考になるものです。興味のある友人は一緒に學(xué)ぶべきです

WeChat の返信原則:

一般の WeChat ユーザーがメッセージ を公開(kāi)アカウント に送信すると、WeChat サーバーはまずユーザーによって送信されたメッセージ

を受信し、次にユーザー情報(bào)とメッセージを XML 形式のデータ パッケージにパッケージ化し、次に XML を作成します。データ パケットは、POST メソッドを通じて開(kāi)発者が設(shè)定した URL に送信されます。

質(zhì)問(wèn) 1: $_POSTarray の代わりに $GLOBALS["HTTP_RAW_POST_DATA"] を使用して POST データを保存するのはなぜですか?

回答:

POST は標(biāo)準(zhǔn)の データ型 のみを保存でき、XML、SOAP、アプリケーション/オクテットストリームなどのコンテンツを解析できません。

$GLOBALS["HTTP_RAW_POST_DATA"] は $_POST と同じです。PHP が POST データを認(rèn)識(shí)できる場(chǎng)合は、$GLOBALS["HTTP_RAW_POST_DATA"] を使用してそれを受信できます。

質(zhì)問(wèn)2: simplexml_load_file()のパラメータと戻り値は何ですか?

答え:

パラメータの意味

string: 処理する必要があるXMLstring。

class: 新しい オブジェクト を指定するために使用され、通常は単純な XML 要素のクラスを生成するために「SimpleXMLElement」に設(shè)定されます。

オプション: 追加の Libxml パラメーターを指定します。通常は 定數(shù) LIBXML_NOCDATA に設(shè)定されます。これは、CDATA をテキスト ノードとして設(shè)定することを意味します。

ns: 通常省略

is_prefix: 通常省略

関數(shù)は完了後にSimpleXMLElementクラスのオブジェクトを返します。

機(jī)能: 公式アカウントはテキストメッセージのみを受け入れ、対応するテキスト返信を行います。

<span style="font-family:Courier New;font-size:14px;"><?php 
define("TOKEN","weixin"); 
$weixinObj = new Wechat(); 
$weixinObj->valid();?
class?Wechat{?
public?function?valid(){?
$echoStr?=?$_GET['echostr'];?
//如果是第一次接入?
if($this->checkSignature()?&&?$echoStr?){?
echo?$echoStr;?
exit;?
}else{?
$this->responseMsg();?
}?
}?
//校驗(yàn)方法?
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;?
}?
}?
/*?普通文本消息?
<xml>?
<ToUserName><![CDATA[toUser]]></ToUserName>?
<FromUserName><![CDATA[fromUser]]></FromUserName>?
<CreateTime>1348831860</CreateTime>?
<MsgType><![CDATA[text]]></MsgType>?
<Content><![CDATA[this is a test]]></Content>?
</xml>?
*/?
public?function?responseMsg(){?
//獲取微信服務(wù)器POST請(qǐng)求中的數(shù)據(jù)?
$postStr?=?$GLOBALS["HTTP_RAW_POST_DATA"];?
if(?!empty($postStr)?){?
$postObj?=?simplexml_load_string($postStr,?'SimpleXMLElement',?LIBXML_NOCDATA);?
$fromUser?=?$postObj->FromUserName;?
$toUser?=?$postObj->ToUserName;?
$keyword?=?trim($postObj->Content);?
$time?=?time();?
$template?=?"<xml>?
<ToUserName><![CDATA[%s]]></ToUserName>?
<FromUserName><![CDATA[%s]]></FromUserName>?
<CreateTime>%s</CreateTime>?
<MsgType><![CDATA[%s]]></MsgType>?
<Content><![CDATA[%s]]></Content>?
</xml>";?
if(?strtolower($postObj->MsgType)!='text'?){?
$msgType?=?"text";?
$content?=?"我只接受文本消息";?
}else{?
$msgType?=?"text";?
if(?!empty($keyword)?){?
$content?=?"您發(fā)送的消息是:".$postObj->Content;?
}else{?
$content?=?"請(qǐng)輸入關(guān)鍵字";//消息為空?
}?
}?
$info?=?sprintf($template,?$fromUser,?$toUser,?$time,?$msgType,?$content);?
echo?$info;?
}else{?
echo?"";?
exit;?
}?
}?
}</span>

機(jī)能: 公式アカウントは畫(huà)像メッセージのみを受け付け、対応するテキスト返信を行います。

<span style="font-family:Courier New;font-size:14px;"><?php 
define("TOKEN","weixin"); 
$weixinObj = new Wechat(); 
$weixinObj->valid();?
class?Wechat{?
public?function?valid(){?
$echoStr?=?$_GET['echostr'];?
//如果是第一次接入?
if($this->checkSignature()?&&?$echoStr?){?
echo?$echoStr;?
exit;?
}else{?
$this->responseMsg();?
}?
}?
//校驗(yàn)方法?
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;?
}?
}?
/*?接收?qǐng)D片消息格式?
<xml>?
<ToUserName><![CDATA[toUser]]></ToUserName>?
<FromUserName><![CDATA[fromUser]]></FromUserName>?
<CreateTime>1348831860</CreateTime>?
<MsgType><![CDATA[image]]></MsgType>?
<PicUrl><![CDATA[this is a url]]></PicUrl>?
<MediaId><![CDATA[media_id]]></MediaId>?
<MsgId>1234567890123456</MsgId>?
</xml>?
*/?
public?function?responseMsg(){?
//獲取微信服務(wù)器POST請(qǐng)求中的數(shù)據(jù)?
$postStr?=?$GLOBALS["HTTP_RAW_POST_DATA"];?
if(?!empty($postStr)?){?
$postObj?=?simplexml_load_string($postStr,?'SimpleXMLElement',?LIBXML_NOCDATA);?
$fromUser?=?$postObj->FromUserName;?
$toUser?=?$postObj->ToUserName;?
$time?=?time();?
$msgType=?$postObj->MsgType;?
$picUrl?=?$postObj->PicUrl;?
$mediaId?=?$postObj->MediaId;?
$template?=?"<xml>?
<ToUserName><![CDATA[%s]]></ToUserName>?
<FromUserName><![CDATA[%s]]></FromUserName>?
<CreateTime>%s</CreateTime>?
<MsgType><![CDATA[%s]]></MsgType>?
<Content><![CDATA[%s]]></Content>?
</xml>";?
if(?strtolower($msgType)!='image'?){?
$msgType?=?"text";?
$content?=?"我只接受圖片消息";?
}else{?
$msgType?=?"text";?
if(?!empty(?$picUrl?)?){?
$content?=?"圖片鏈接為:".$picUrl."\n";?
$content?.=?"媒體id:".$mediaId;?
}else{?
$content?=?"請(qǐng)發(fā)送圖片";//消息為空?
}?
}?
$info?=?sprintf($template,?$fromUser,?$toUser,?$time,?$msgType,?$content);?
echo?$info;?
}else{?
echo?"";?
exit;?
}?
}?
}</span>

以上は、WeChat メッセージに自動(dòng)返信するときに遭遇する落とし穴について編集者が共有した知識(shí)です。皆様のお役に立てれば幸いです。

以上がPHP WeChat 開(kāi)発における WeChat メッセージへの自動(dòng)返信で発生した問(wèn)題の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)