Rumah pembangunan bahagian belakang tutorial php 微信公众号开发之文本消息自动回复php代码_php实例

微信公众号开发之文本消息自动回复php代码_php实例

Aug 17, 2016 pm 01:02 PM

本文实例为大家分享了php微信文本消息自动回复 别代码,供大家参考,具体内容如下

1.PHP示例代码下载
 下载地址1:http://xiazai.php.net/201608/yuanma/phpwx(php.net).rar
 下载地址2:https://mp.weixin.qq.com/wiki/home/index.html(开始开发-》接入指南-》PHP示例代码下载) 

2.wx_sample.php初始代码

valid();

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();
 $textTpl = "%s0"; 
 if(!empty( $keyword ))
 {
  $msgType = "text";
  $contentStr = "Welcome to wechat world!";
  $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
  echo $resultStr;
 }else{
  echo "Input something...";
 }

 }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 rule
 sort($tmpArr, SORT_STRING);
 $tmpStr = implode( $tmpArr );
 $tmpStr = sha1( $tmpStr );
 
 if( $tmpStr == $signature ){
 return true;
 }else{
 return false;
 }
 }
}

?>
Salin selepas log masuk

3.调用回复信息方法
在wx_sample.php文件中注释掉$wechatObj->valid();,在其下增加一句“$wechatObj->responseMsg();”。

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();
 $textTpl = "%s0"; 
 if(!empty( $keyword ))
 {
  $msgType = "text";
  $contentStr = "Welcome to wechat world!";
  $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
  echo $resultStr;
 }else{
  echo "Input something...";
 }

 }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 rule
 sort($tmpArr, SORT_STRING);
 $tmpStr = implode( $tmpArr );
 $tmpStr = sha1( $tmpStr );
 
 if( $tmpStr == $signature ){
 return true;
 }else{
 return false;
 }
 }
}

?>
Salin selepas log masuk

4.关键词自动回复和关注回复
$keyword保存着用户微信端发来的文本信息。
官方开发者文档:https://mp.weixin.qq.com/wiki/home/index.html(消息管理-》接收消息-接收事件推送-》1.关注/取消关注事件)

关注事件与一般的文本消息有两处不同,一是MsgType值是event,二是增加了Event值是subscribe。由于官方文档(最初的wx_sample.php)没有提取这个参数,需要我们自己提取。在程序中增加两个变量$msgType和$event。

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();
 $msgType = $postObj->MsgType;//消息类型
 $event = $postObj->Event;//时间类型,subscribe(订阅)、unsubscribe(取消订阅)
 $textTpl = "%s0"; 
  
 switch($msgType){
  case "event":
  if($event=="subscribe"){
  $contentStr = "Hi,欢迎关注海仙日用百货!"."\n"."回复数字'1',了解店铺地址."."\n"."回复数字'2',了解商品种类.";
  } 
  break;
  case "text":
  switch($keyword){
  case "1":
  $contentStr = "店铺地址:"."\n"."杭州市江干艮山西路233号新东升市场地下室第一排."; 
  break;
  case "2":
  $contentStr = "商品种类:"."\n"."杯子、碗、棉签、水桶、垃圾桶、洗碗巾(刷)、拖把、扫把、"
   ."衣架、粘钩、牙签、垃圾袋、保鲜袋(膜)、剪刀、水果刀、饭盒等.";
  break;
  default:
  $contentStr = "对不起,你的内容我会稍后回复";
  }
  break;
 }
 $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 rule
 sort($tmpArr, SORT_STRING);
 $tmpStr = implode( $tmpArr );
 $tmpStr = sha1( $tmpStr );
 
 if( $tmpStr == $signature ){
 return true;
 }else{
 return false;
 }
 }
}


?>
Salin selepas log masuk

 以上就是微信公众号开发之文本消息自动回复php代码_php实例的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网(www.php.cn)!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyediakan balasan automatik di Xianyu Bagaimana untuk menyediakan balasan automatik Bagaimana untuk menyediakan balasan automatik di Xianyu Bagaimana untuk menyediakan balasan automatik Mar 13, 2024 am 10:50 AM

Xianyu boleh memenuhi keperluan semua orang dengan mudah Semua orang boleh membeli barangan yang mereka perlukan di sini, dan mereka juga boleh menjual barangan terbiar mereka di sini, menjana wang dengan mudah barang-barang terbiar yang anda tidak perlukan lagi Anda bukan sahaja boleh membebaskan ruang, tetapi juga boleh menetapkan harga secara bebas dan orang lain boleh membelinya secara langsung juga Kami akan bercakap dengan anda tentang harga atau mendapatkan maklumat produk yang lebih terperinci Jika kami tidak membalas pada masa ini, kami mungkin kehilangan pelanggan, jadi kami boleh menyediakan beberapa balasan automatik, yang boleh membantu semua orang mengekalkan pelanggan dengan berkesan untuk sesetengah orang. masa. Sangat berguna. Editor di sini memberikan anda cara untuk menyediakan balasan automatik.

Scrapy melaksanakan rangkak dan analisis artikel akaun awam WeChat Scrapy melaksanakan rangkak dan analisis artikel akaun awam WeChat Jun 22, 2023 am 09:41 AM

Scrapy melaksanakan rangkak artikel dan analisis akaun awam WeChat WeChat ialah aplikasi media sosial yang popular dalam beberapa tahun kebelakangan ini, dan akaun awam yang dikendalikan di dalamnya juga memainkan peranan yang sangat penting. Seperti yang kita sedia maklum, akaun awam WeChat adalah lautan maklumat dan pengetahuan, kerana setiap akaun awam boleh menerbitkan artikel, mesej grafik dan maklumat lain. Maklumat ini boleh digunakan secara meluas dalam banyak bidang, seperti laporan media, penyelidikan akademik, dsb. Jadi, artikel ini akan memperkenalkan cara menggunakan rangka kerja Scrapy untuk merangkak dan menganalisis artikel akaun awam WeChat. Scr

Bagaimana untuk menyediakan balasan automatik QQ? Langkah tetapan balasan automatik QQ Bagaimana untuk menyediakan balasan automatik QQ? Langkah tetapan balasan automatik QQ Mar 15, 2024 pm 03:13 PM

QQ ialah perisian rangkaian sosial popular yang bukan sahaja menyokong pelbagai kaedah komunikasi seperti teks, suara dan video, tetapi juga mempunyai tetapan peribadi yang kaya. Antaranya, fungsi balasan automatik adalah tetapan yang sangat praktikal Ia boleh menghantar kandungan balasan pratetap secara automatik kepada rakan anda apabila anda sibuk atau tidak dapat membalas mesej tepat pada masanya, mengelakkan rasa malu yang disebabkan oleh kegagalan membalas dalam masa. Dengan cara ini, apabila anda sibuk atau pergi buat sementara waktu, QQ akan menghantar balasan pratetap secara automatik kepada rakan anda, membolehkan anda menikmati keseronokan sosial dan mudah menghadapi pelbagai senario. Bagaimana untuk menyediakan balasan automatik QQ? Langkah tetapan balasan automatik QQ 1. Buka kunci telefon, buka aplikasi QQ, pada halaman mesej utama, klik sedikit ikon [Status] di penjuru kiri sebelah atas, atau tekan lama [avatar] anda untuk masuk dengan segera

Apakah perbezaan antara pensijilan akaun rasmi WeChat dan bukan pensijilan? Apakah perbezaan antara pensijilan akaun rasmi WeChat dan bukan pensijilan? Sep 19, 2023 pm 02:15 PM

Perbezaan antara pensijilan akaun rasmi WeChat dan bukan pensijilan terletak pada logo pensijilan, kebenaran fungsi, kekerapan tolak, kebenaran antara muka dan kepercayaan pengguna. Pengenalan terperinci: 1. Logo pensijilan akaun awam yang disahkan akan memperoleh logo pensijilan rasmi, iaitu logo V biru ini boleh meningkatkan kredibiliti dan kewibawaan akaun awam dan memudahkan pengguna mengenal pasti akaun awam rasmi yang sebenar ; 2. Keizinan fungsi Akaun awam yang diperakui mempunyai lebih banyak fungsi dan kebenaran daripada akaun awam yang diperakui Contohnya, akaun awam yang diperakui boleh memohon untuk mengaktifkan fungsi pembayaran WeChat untuk merealisasikan pembayaran dalam talian dan operasi komersial.

Bagaimana untuk menyediakan balasan automatik dalam Outlook 2013 - Bagaimana untuk menyediakan balasan automatik dalam Outlook 2013 Bagaimana untuk menyediakan balasan automatik dalam Outlook 2013 - Bagaimana untuk menyediakan balasan automatik dalam Outlook 2013 Mar 05, 2024 pm 02:01 PM

Baru-baru ini, ramai rakan baharu yang baru sahaja menggunakan Outlook 2013 telah bertanya kepada saya cara menyediakan balasan automatik dalam Outlook 2013. Di bawah, saya akan membawakan anda cara untuk menyediakan balasan automatik dalam Outlook 2013. Mari lihat di bawah. Selepas log masuk, antara muka berikut akan muncul Klik pada fail di sebelah kiri atas untuk masuk. Antara muka pilihan fail berikut muncul, klik [Auto Reply] untuk memasuki antara muka tetapan balasan automatik Secara lalai, penghantaran e-mel automatik tidak ditandakan Kami boleh mengklik dan menyemak untuk menetapkan tempoh masa untuk balasan automatik, seperti yang ditunjukkan dalam rajah di bawah Anda akhirnya boleh mengedit kandungan yang perlu dipulihkan Apabila pengeditan selesai, klik OK, dan kemudian minta rakan sekerja anda menghantar e-mel kepada anda untuk melihat kesannya.

Pertempuran perangkak praktikal dalam Python: perangkak akaun awam WeChat Pertempuran perangkak praktikal dalam Python: perangkak akaun awam WeChat Jun 10, 2023 am 09:01 AM

Python ialah bahasa pengaturcaraan yang elegan dengan pemprosesan data yang berkuasa dan keupayaan merangkak web. Dalam era digital ini, Internet dipenuhi dengan sejumlah besar data, dan crawler telah menjadi cara penting untuk mendapatkan data Oleh itu, crawler Python digunakan secara meluas dalam analisis data dan perlombongan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan perangkak Python untuk mendapatkan maklumat artikel akaun awam WeChat. Akaun rasmi WeChat ialah platform media sosial yang popular untuk menerbitkan artikel dalam talian dan merupakan alat penting untuk promosi dan pemasaran banyak syarikat dan media sendiri.

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi e-mel balasan automatik? Bagaimana untuk menggunakan PHP untuk membangunkan fungsi e-mel balasan automatik? Sep 11, 2023 pm 09:51 PM

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi e-mel balasan automatik? Dengan penggunaan e-mel yang meluas, fungsi membalas e-mel secara automatik telah menjadi ciri penting dalam kerja harian banyak organisasi dan individu. Menggunakan PHP untuk membangunkan fungsi e-mel balasan automatik boleh membantu kami menjimatkan masa dan tenaga serta meningkatkan kecekapan kerja. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk membangunkan fungsi membalas e-mel secara automatik untuk memberi respons yang lebih baik kepada keperluan balasan e-mel. Pertama, kami memerlukan perpustakaan PHP yang boleh menghantar dan menerima e-mel. PHPMailer adalah sangat popular

ChatGPT Java: Bagaimana untuk melaksanakan fungsi balasan automatik ChatGPT Java: Bagaimana untuk melaksanakan fungsi balasan automatik Oct 25, 2023 am 08:47 AM

ChatGPTJava: Bagaimana untuk melaksanakan fungsi autobalas, contoh kod khusus diperlukan Fungsi autobalas menjadi semakin penting dalam pembangunan teknologi moden. Sama ada perkhidmatan pelanggan dalam talian, chatbot atau platform media sosial, mereka semua perlu mempunyai keupayaan untuk bertindak balas secara automatik untuk menyediakan perkhidmatan segera dan cekap. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan Java untuk melaksanakan fungsi balasan automatik dan memberikan contoh kod tertentu. Sebelum kita mula, kita perlu memahami cara membina model ChatGPT asas. ChatGPT ialah a

See all articles