wx_sample.php

<?php

/**

* wechat php test

*/

//define your token

define("TOKEN", "weixin");

$wechatObj = new wechatCallbackapiTest();

$wechatObj->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 = "<xml>

<ToUserName><![CDATA[%s]]></ToUserName>

<FromUserName><![CDATA[%s]]></FromUserName>

<CreateTime>%s</CreateTime>

<MsgType><![CDATA[%s]]></MsgType>

<Content><![CDATA[%s]]></Content>

<FuncFlag>0</FuncFlag>

</xml>";

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;

}

}

}

?>

时间: 2024-12-09 23:10:05

wx_sample.php的相关文章

微信聊天测试脚本 wx_sample.php

<?php/**  * 微信聊天测试脚本  *///定义token值和你在微信公众平台开发者里设置的token值需要保持一致,我这偷懒没改还用的默认的weixindefine("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();if (isset($_GET['echostr'])) {    $wechatObj->valid();}else{    $wechatObj->re

【玩转微信公众平台之六】 搭建新浪SAE服务器

赶紧接上一篇继续讲. ------本篇将介绍如何搭建 新浪SAE服务器.猛戳 http://sae.sina.com.cn/1.先自己注册一个账号,如果有新浪的账号,微博之类的都可以直接拿来用,授权一下就可以,如下: 2.接下来会让你填写一些安全设置,自己根据要求如实填写就可以了.要注意的是,你设置的安全密码别忘了,原因如下: 看的懂就好,看不懂也罢,我们继续往下走.3.注册的最后一步是 手机绑定 ,将你手机收到的验证码输入进去即可.这些都没啥难度,我就不多说了.注册成功后,点击 我的首页 回到

微信平台开发之利用本地环境加新花生壳解释做测试环境

准备工作: 1.搭建本地PHP开发环境. 2.注册并安装新花生壳. 3.注册微信公众平台帐号. 第一步:搭建本地PHP开发环境,案例使用wamp集成环境. 下载并安装集成环境确保集成环境正常运行. 第二步:注册并安装新花生壳,过程(略). 具体教程可查看http://www.oray.com/ 第三步:对开发环境做解释. 登陆花生壳做解释: 开放wamp的外部访问:教程http://hi.baidu.com/aubbll/item/8bd5a52253d3ecd7a517b685 至此,外网就可

微信公众平台开发入门教程(2)接口配置

开发模式:1. 简介 微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的文字.图片.语音的全方位沟通.互动.微信公众平台分订阅号和服务号.企业号三类平台,利用公众账号平台进行自媒体活动,简单来说就是进行一对多的媒体性行为活动,如商家通过申请公众微信服务号实现展示商家微官网.微社区.微会员.微推送.微支付.微活动,微报名,微分享.微名片等,还可以实现部分轻应用功能.已经形成了一种主流的线上线下微信互动营销方式. 至2014年开

微信开发文档

1. 选择功能设置 填写JS安全域名 下载 .....txt.传到服务器上 2.下一步进入基本配置 AppID(应用ID)  wxc8d0f11aba2b1ec0 AppSecret(应用密钥) 0937eb071d48a6b944ccc3e67ad0b25e 3.修改服务器配置 配置令牌 token 开始开发---接入指南 页面最下方 代码示例 下载 wx_sample.php 去开发者中心 进入开发者文档 进入微信网页开发 进入微信JS-SDK开发文档 页面的最下方 示例代码 下载完成后 打

微信JS-SDK

微信JS-SDK 链接汇总: 微信公众平台开发者文档:http://mp.weixin.qq.com/wiki/home/index.html 新浪sea服务器:http://egret5.sinaapp.com/weixin/wx_sample.php jssdk.php  方倍工作室:http://www.cnblogs.com/txw1958/p/weixin-js-sdk-php-demo.html 开发中问题: SAE 接入微信JS-SDK不能本地写的问题:https://segmen

20150311+微信-01

价值万元的微信教程上 目录 价值万元的微信教程上 1 一.微信历史起源 2 1.微信起源 2 2.为什么要学习微信开发 2 3.微信与微信公众平台区别 2 4.微信推荐 2 5.内容提纲 3 二.微信公众平台 3 1.微信平台登陆 3 2.微信功能详解 4 1)群发功能: 4 2)自动回复 5 三.微信公众平台开发者模式 6 1.微信公众平台开发原理 6 1)微信的编辑模式 6 2)微信的开发者模式 6 2.如何建立腾讯服务器与自定义服务器的联系 6 1)拥有自己的服务器(BAE.SAE) 6

[1] 微信公众号与sae的web应用之间的配置

第一步:申请sae账号,并新建web应用. 第二步:下载http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.20140819.zip压缩包,并上传到sae服务器中. 第三步:配置微信公众号接口: 输入接口配置信息,填写URL和Token.点击提交按钮. ※ 此时会发现配置不成功! 需要在代码中添加:header('content-type:text'); 全部代码如下: <?php/**  * wechat php test  */ /

PHP微信公众开发笔记(一)

笔记是先写在印象笔记上的,晚上没事的时候整理整理. PHP微信公众开发笔记系列 日期:2014.9.1 今天开始正式开始做班上的微信公众平台的开发者服务了.因为是第一次做这个,对PHP也不了解,所以一边学PHP,一边整理微信的公众平台,当做是自己的练手学习好了. 在登录了微信的公众平台之后,左边功能区的最底部就是开发者中心了: 在没有开启开发者服务前,这里面啥也没有.启用这个服务后,在网站上编辑的自动回复功能便取消了,用户跟微信公众平台的交互信息便会转到开发者接入的功能.废话少说,开启开发者功能