php微信公众号开发之图片回复

时间:2022-07-27
本文章向大家介绍php微信公众号开发之图片回复,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文实例为大家分享了php微信公众号开发之图片回复的具体代码,供大家参考,具体内容如下

图片回复

随机函数:

rand(1,10)

核心代码:

$tyep= $postObj- MsgType;
$textTpl = "
 <xml 
  <ToUserName <![CDATA[%s]] </ToUserName 
  <FromUserName <![CDATA[%s]] </FromUserName 
  <CreateTime %s</CreateTime 
  <MsgType <![CDATA[text]] </MsgType 
  <Content <![CDATA[%s]] </Content 
  <FuncFlag 0</FuncFlag 
 </xml ";   

 if ($tyep=="image")
 {
  $a=rand(1,3);
   switch ($a)
   {
    case "1";
     $b="健康好人缘,婚姻幸福美满";
     break;
   case "2";
     $b="贵人相助化险为夷的好运纹";
     break;
    default;
     $b="才华横溢好研究,知识丰富事业有成";        
   }

   $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$b);
   echo $resultStr;
 }

index.php代码如下:

<?php
/**
 * wechat php test
 */

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$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)){

    $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    $fromUsername = $postObj- FromUserName;
    $toUsername = $postObj- ToUserName;
    $keyword = trim($postObj- Content);
    $time = time();
    $tyep= $postObj- MsgType;
    $textTpl = "
       <xml 
       <ToUserName <![CDATA[%s]] </ToUserName 
       <FromUserName <![CDATA[%s]] </FromUserName 
       <CreateTime %s</CreateTime 
       <MsgType <![CDATA[text]] </MsgType 
       <Content <![CDATA[%s]] </Content 
       <FuncFlag 0</FuncFlag 
       </xml ";   


    if ($tyep=="image")
    {$a=rand(1,3);
     switch ($a)
     {case "1";
     $b="健康好人缘,婚姻幸福美满";
     break;
     case "2";
     $b="贵人相助化险为夷的好运纹";
     break;
     default;
     $b="才华横溢好研究,知识丰富事业有成";        
     }

     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$b);
     echo $resultStr;
    }

  }else {
   echo "";
   exit;
  }
 }

 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;
  }
 }
}

? 

以上就是本文的全部内容,希望对大家的学习有所帮助。