首页 > 编程 > PHP > 正文

微信公众平台DEMO(PHP)

2020-03-22 17:15:22
字体:
来源:转载
供稿:网友
本人在SAE环境下搭建了CI框架(其实这个小东西用不着用框架的),直接把代码写在了控制器里面 php if ( ! defined('BASEPATH')) exit('No direct script access allowed');//define your tokendefine("TOKEN", "109");html' target='_blank'>class Welcome extends CI_Controller { public function index() $this- load- helper('url'); $this- load- view('welcome_message'); // use chat response $this- responseMsg(); // chat response 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; $MsgType = $postObj- MsgType; $time = time(); switch($MsgType){ case('text'): $keyword = trim($postObj- Content); $textTpl = " xml ToUserName ![CDATA[%s]] /ToUserName FromUserName ![CDATA[%s]] /FromUserName CreateTime %s /CreateTime MsgType ![CDATA[%s]] /MsgType Content ![CDATA[%s]] /Content /xml switch($keyword){ case(1): // Need to optimize // random read data from jokes $sql = 'SELECT * FROM jokes'; $query = $this- db- query($sql); $res = $query- result_array(); $num_rows = $query- num_rows(); $key = rand(0, $num_rows - 1); // Notice: The value of key is from 0. //$contentStr = $key.'#'.$res[$key ]['content']; // debug $contentStr = $res[$key ]['content']; break; case(2): $contentStr = 'Your fromUsername is: '.$fromUsername; break; case(3): $newsTpl = " xml ToUserName ![CDATA[%s]] /ToUserName FromUserName ![CDATA[%s]] /FromUserName CreateTime %s /CreateTime MsgType ![CDATA[%s]] /MsgType ArticleCount 2 /ArticleCount Articles item Title ![CDATA[%s]] /Title Description ![CDATA[%s]] /Description PicUrl ![CDATA[%s]] /PicUrl Url ![CDATA[%s]] /Url /item item Title ![CDATA[%s]] /Title Description ![CDATA[%s]] /Description PicUrl ![CDATA[%s]] /PicUrl Url ![CDATA[%s]] /Url /item /Articles /xml $resultStr = sprintf($newsTpl, $fromUsername, $toUsername, $time,'news', '百度','', 'http://www.baidu.com/img/bdlogo.gif', 'http://www.baidu.com', 'Google','', '', 'http://www.google.com'); // Notice: Google's logo is not suitable. echo $resultStr; exit; // Notice: It's exit, not break. case(4): $contentStr = "该功能正在开发中,敬请期待..."; break; /* others */ default: $contentStr = "回复数字 选择服务/n"; $contentStr .= "1 笑话精选/n"; $contentStr .= "2 获取您的Username.../n"; $contentStr .= "3 图文消息示例/n"; $contentStr .= "4 开发中.../n"; break; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, 'text', $contentStr); break; case('image'): $media_id = $postObj- MediaId; $imgTpl = " xml ToUserName ![CDATA[%s]] /ToUserName FromUserName ![CDATA[%s]] /FromUserName CreateTime %s /CreateTime MsgType ![CDATA[%s]] /MsgType Image MediaId ![CDATA[%s]] /MediaId /Image /xml $resultStr = sprintf($imgTpl, $fromUsername, $toUsername, $time, 'image', $media_id); break; // try get the id of the receive image and analyse $media_id = $postObj- MediaId; $textTpl = " xml ToUserName ![CDATA[%s]] /ToUserName FromUserName ![CDATA[%s]] /FromUserName CreateTime %s /CreateTime MsgType ![CDATA[%s]] /MsgType Content ![CDATA[%s]] /Content /xml $length = strlen($media_id); $contentStr = "I have received the image message you sent, the id of this image is # $media_id #, and the length of media_id is # $length #"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, 'text', $contentStr); break; case('voice'): $textTpl = " xml ToUserName ![CDATA[%s]] /ToUserName FromUserName ![CDATA[%s]] /FromUserName CreateTime %s /CreateTime MsgType ![CDATA[%s]] /MsgType Content ![CDATA[%s]] /Content /xml $contentStr = '你说啥 俺听不见...'; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, 'text', $contentStr); break; /* others */ default: $resultStr = "Input something..."; break; echo $resultStr; }else { echo ""; exit;}PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表