Rumah php教程 php手册 php编写微信公众平台消息处理接口教程

php编写微信公众平台消息处理接口教程

Jun 06, 2016 pm 07:45 PM
php berurusan dengan platform WeChat antara muka Tutorial maklumat menulis

有许多同学都在群里问如何使用PHP编写微信公众平台处理接口教程。以下,微市场就为大家整理了处理消息的教程。希望能对大家有帮助! 一.创建接口文件 微信开发者模式首先需要我们有自己的服务器,很多同学没有自己的服务器,那么可以去淘宝买虚拟空间,几块

有许多同学都在群里问如何使用PHP编写微信公众平台处理接口教程。以下,微市场就为大家整理了处理消息的教程。希望能对大家有帮助!

一. 创建接口文件
     微信开发者模式首先需要我们有自己的服务器,很多同学没有自己的服务器,那么可以去淘宝买虚拟空间,几块钱就有了,也可以用新浪SAE。具体怎么弄可以去百度一下,这里我们就不介绍了。     
二. 写接口文件内部方法
     然后,我们使用编辑器 notepad++ 打开 index.php 这个文件,注意要用utf-8模式 ,写一个 处理微信公众平台请求的入口函数。
     当用户发送消息给公众帐号时,公众平台会将消息以 XML 格式 post到接口url去处理。那么接口的入口函数我们就应该先获取post过来的XML内容。
     可以使用以下两种方式。
      $postStr = file_get_contents("php://input");    
     
接收完以后就存储给叫 $postStr 的变量了,下面 就要将XML中的对象值取出来了。
      $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
      $fu = (string)$postObj->FromUserName;
      $tu = (string)$postObj->ToUserName;
      $MsgType = (string)$postObj->MsgType;

  变量 $fu 就是用户的账号 $tu 就是公众账号 $MsgType 就是消息类型 目前支持的有 图片 位置 文字 和 事件 。
      取出这几个主要的值以后 我们就可以根据需要来写处理逻辑了。
      要实现回复消息的话 我们写一个 消息模版的类。这里我们新建一个 PHP 文件 命名为 Tpl.class.php
      打开 编辑此文件,把用到的消息模版写进入 方便调用。目前有 文字类型消息 图文类型消息    音乐类型消息  实现自动回复,就是再收到微信公众平台POST 的请求时 echo 一个XML格式的消息模版即可 实现回复。我们这样写

 

/* 
     QQ群 : 171055458

*/
class Tpl{
function txt($fu,$tu,$content,$flag = 0){
  $tpl = " 
     
     
    ".$_SERVER['REQUEST_TIME']." 
     
     
    ".$flag."
    
";
  echo $tpl;
}

function news($fu,$tu,$data,$flg = 0){
  $num = count($data);
  if($num > 1){
   $add = $this->news_add($data);
   $tpl = " 
      
      
      ".$_SERVER['REQUEST_TIME']." 
       
       
      ".$num." 
       
      ".$add."
      
 
      ".$flag." 
      
 ";
   echo $tpl;
  }else{
   $tpl = " 
      
      
      ".$_SERVER['REQUEST_TIME']." 
       
       
      1 
       
       
       
       
       
       
      

      
 
      ".$flag." 
      
 ";
   echo $tpl;
  }
}

function news_add($data){
  $add = "";
   foreach ($data as $k){
   $add .= " 
      
      
      
      
     
  ";
   }
   return $add;
}

function audio($fu,$tu,$data){
  $tpl = "
      
      
      ".$_SERVER['REQUEST_TIME']."
      
      
      
      
      
      
      

      0
      
";
  echo $tpl;
}

}

 

返回编辑主文件 index.php   

/* 
一般性微信接口开发,均可采用此处理流程来写

   QQ群 : 171055458*/
require('Tpl.class.php'); //载入 Tpl.class.php 文件
define('TOKEN','mytoken'); //定义TOKEN 常量 MP 上验证的时候就填写这个值 mytoken
$WeiXin = new WeiXin; //实例化 WeiXin 类 
$WeiXin->Send(); //请求该接口文件时 先执行 Send 函数

class WeiXin extends Tpl{
//此函数表示所在类被实例化的同时 将会执行它内部的方法。
function __construct(){
if(!$this->checkSignature()) exit; //检查来路 可提高安全性 
}
public function Send(){
//获取输入流并取出主要对象的值
$postStr = file_get_contents("php://input");
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fu = (string)$postObj->FromUserName; //取出用户的账号
$tu = (string)$postObj->ToUserName; //公众账号
$MsgType = (string)$postObj->MsgType; //取出消息类型
//根据消息类型进入相应操作
switch($MsgType){
case 'text': //文字消息类型
$content = trim($postObj->Content); // 取出消息内容
//根据发送的内容回复相应的内容
switch($content){
case '0': //如果发送的是数字0则回复以下内容
$this->txt($fu,$tu,'你发送了数字 0 ,所以你就看到了这么多 000000000000。');
break;
case '1': //如果发送的是数字1则回复以下内容
$this->txt($fu,$tu,'你发送了数字 1 ,所以你就看到了这么多 111111111111。');
break;
case '2': //如果发送的是数字2 则回复以下内容
$msg['title'] = '音频文件标题';
$msg['intro'] = '音频文件简介';
$msg['url'] = 'http://facebowl.in/EverythingIsBetter.mp3'; //音频文件的绝对完整 url
$msg['hqurl'] = 'http://facebowl.in/EverythingIsBetter.mp3'; //音频文件的高清绝对完整 url wifi下优先播放此url.
$this->audio($fu,$tu,$msg); //回复一个可播放的音频消息
break;
default: //如果是其他内容则回复
$this->txt($fu,$tu,'你发送的内容是。'.$content);
break;
}
break;
case 'image': //图像消息类型
$pic = (string)$postObj->PicUrl; //取出图片url
//回复一个图文 开始定义数组
$msg[0]['title'] = '这里是标题';
$msg[0]['intro'] = '简介';
$msg[0]['pic'] = $pic; //图片URL 这里是返回发送的原图 URL 要使用绝对完整地址
$msg[0]['url'] = 'http://bbs.binguo.me'; //这里是超链接
$this->news($fu,$tu,$msg);
//如要回复多条图文,可对该二维数组赋值多个元素 如 $msg[0] $msg[1] $msg[2] 。
break;
case 'location': //地理位置消息类型
$l_x = $postObj->Location_X; //取出 x 坐标
$l_y = $postObj->Location_Y; //取出 y 坐标
$scale = $postObj->Scale; //取出 缩放等级
$lable = $postObj->Label; //取出 位置信息
//回复文字消息
$this->txt($fu,$tu,'你所处位置是:'.$lable.'坐标为 X:'.$l_x.'Y:'.$l_y);
break;
case 'event': //事件消息类型
$event = $postObj->Event; //取出事件内容
$eventKey = $postObj->EventKey; //取出事件标识
switch($event){
case 'subscribe': //如果为 订阅 事件
$this->txt($fu,$tu,'欢迎关注我们,发送数字 0 试试。');
break;
}
break;
default:
//默认执行接口验证方法
$this->valid();
break;
}
}

//验证接口的方法 也可直接 echo $_GET["echostr"]; TOKEN 任意设置。
public function valid(){
$echoStr = $_GET["echostr"];
//valid signature , option
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
//检查TOKEN是否一致 可用来检测请求来路是否为微信
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;
}
}

}

将上面的代码上传到服务器上之后就可以到微信公众平台验证了。

php编写微信公众平台消息处理接口教程

URL填写的是我们上传到服务器的地址 如http://你的域名/index.php

token 填写的是你在index.php中定义的token  如mytoken

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)

Tutorial Generasi Imej DeepSeek Tutorial Generasi Imej DeepSeek Feb 19, 2025 pm 04:15 PM

DeepSeek: Alat Generasi Imej AI yang kuat! DeepSeek sendiri bukan alat penjanaan imej, tetapi teknologi terasnya yang kuat memberikan sokongan yang mendasari untuk banyak alat lukisan AI. Ingin tahu cara menggunakan DeepSeek untuk menjana imej secara tidak langsung? Sila teruskan membaca! Menjana imej dengan alat AI berasaskan DeepSeek: Langkah-langkah berikut akan membimbing anda untuk menggunakan alat ini: Lancarkan alat lukisan AI: Cari dan buka alat lukisan AI berasaskan Deepseek (contohnya, cari "AI Simple"). Pilih Mod Lukisan: Pilih "Lukisan AI" atau fungsi yang serupa, dan pilih Jenis Imej mengikut keperluan anda, seperti "Anime Avatar", "Landskap"

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Laman Web Platform Perdagangan Laman Web Gateio Cina. Laman Web Platform Perdagangan Laman Web Gateio Cina. Feb 21, 2025 pm 03:06 PM

Gate.io, sebuah platform perdagangan cryptocurrency terkemuka yang ditubuhkan pada tahun 2013, menyediakan pengguna Cina dengan laman web rasmi Cina yang lengkap. Laman web ini menyediakan pelbagai perkhidmatan, termasuk perdagangan tempat, perdagangan niaga hadapan dan pinjaman, dan menyediakan ciri khas seperti antara muka Cina, sumber yang kaya dan sokongan masyarakat.

GATEIO EXCHANGE Versi lama Gateio Exchange App Versi Lama Saluran Muat turun GATEIO EXCHANGE Versi lama Gateio Exchange App Versi Lama Saluran Muat turun Mar 04, 2025 pm 11:36 PM

Saluran muat turun aplikasi gerbang untuk versi lama, meliputi pasaran aplikasi rasmi, pihak ketiga, komuniti forum dan saluran lain.

Tutorial muat turun domestik Tutorial muat turun domestik Mar 21, 2025 pm 05:42 PM

Artikel ini menyediakan panduan terperinci untuk muat turun selamat aplikasi OUYI OKX di China. Oleh kerana sekatan ke kedai aplikasi domestik, pengguna dinasihatkan untuk memuat turun aplikasi melalui laman web rasmi OUYI OKX, atau menggunakan kod QR yang disediakan oleh laman web rasmi untuk mengimbas dan memuat turun. Semasa proses muat turun, pastikan anda mengesahkan alamat laman web rasmi, periksa kebenaran aplikasi, lakukan imbasan keselamatan selepas pemasangan, dan membolehkan pengesahan dua faktor. Semasa penggunaan, sila mematuhi undang -undang dan peraturan tempatan, gunakan persekitaran rangkaian yang selamat, melindungi keselamatan akaun, berhati -hati terhadap penipuan, dan melabur secara rasional. Artikel ini hanya untuk rujukan dan tidak menjadi nasihat pelaburan.

Pintu Masuk Masuk Log Masuk Masuk. Pintu Masuk Masuk Log Masuk Masuk. Mar 04, 2025 pm 04:51 PM

Gate.io (Pintu Terbuka Sesame) adalah platform perdagangan cryptocurrency terkemuka di dunia. Tutorial ini meliputi langkah -langkah seperti pendaftaran akaun dan log masuk, pensijilan KYC, mata wang fiat dan mata wang digital, pemilihan pasangan dagangan, pesanan urus niaga/pasaran, dan pesanan dan rekod transaksi melihat, membantu anda memulakan platform GATE.IO untuk perdagangan cryptocurrency. Sama ada pemula atau veteran, anda boleh mendapat manfaat daripada tutorial ini dan mudah menguasai kemahiran perdagangan Gate.io.

Bagaimana untuk memulakan dengan membeli duit syiling maya? 2025 Panduan Pendatang Baru Mata Wang Maya Ethereum Bagaimana untuk memulakan dengan membeli duit syiling maya? 2025 Panduan Pendatang Baru Mata Wang Maya Ethereum Feb 21, 2025 pm 06:54 PM

Bagi pelabur baru ke dunia cryptocurrency, adalah penting untuk memahami cara membeli duit syiling maya. Artikel ini direka untuk menyediakan panduan komprehensif kepada pemula yang meliputi langkah -langkah terperinci tentang cara memilih pertukaran yang betul, mendaftarkan akaun, dana deposit, dan membeli Ethereum (ETH). Dengan mengikuti panduan ini, pemula boleh dengan selamat dan mudah memulakan perjalanan pelaburan mata wang maya mereka dan merebut peluang pelaburan yang berpotensi pada tahun 2025 dan seterusnya.

Senarai yuran pengendalian untuk platform perdagangan okx Senarai yuran pengendalian untuk platform perdagangan okx Feb 15, 2025 pm 03:09 PM

Platform perdagangan OKX menawarkan pelbagai kadar, termasuk yuran transaksi, yuran pengeluaran dan yuran pembiayaan. Untuk urus niaga tempat, yuran urus niaga berbeza -beza mengikut jumlah urus niaga dan tahap VIP, dan mengamalkan "model pembuat pasaran", iaitu, pasaran mengenakan bayaran pengendalian yang lebih rendah untuk setiap transaksi. Di samping itu, OKX juga menawarkan pelbagai kontrak niaga hadapan, termasuk kontrak standard mata wang, kontrak USDT dan kontrak penghantaran, dan struktur yuran setiap kontrak juga berbeza.

See all articles