首页 > 后端开发 > 正文

php微信框架搭建 php微信公众平台开发ibeacon怎么写

2023-08-27 05:23:16 | 我爱编程网

今天我爱编程网小编为大家带来了php微信框架搭建 php微信公众平台开发ibeacon怎么写,希望能帮助到大家,一起来看看吧!

php微信框架搭建 php微信公众平台开发ibeacon怎么写

php微信公众平台开发ibeacon怎么写

进入微信公众平台,在里面设置菜单地址的指向.公众号下面的菜单都是你自己定制的,这个需要在公众平台里完成,生成菜单后两个小时生效,进入公众号就可以看到了.

如果你的项目里用到了微信的api,你就需要在初始化调用的时候设置appkey和证书id之类的,这个在公众平台里可以找到.比如获取用户在公众号下的openid,你就需要设置appid和secret.

这点要注意,菜单指向的地址必须有域名,且端口必须是80端口,这点很重要.

php微信框架搭建 php微信公众平台开发ibeacon怎么写

php如何进行微信公众号开发



php如何进行微信公众号开发
1、配置相关服务器
(1) 如下,把自己的服务器ip白名单配置上;
(2) 开始配置令牌,配置令牌时先需要把现成的代码放到自己的服务器上面,代码里面包含自己的设置的令牌号码,这样才可以配置成功。
注意:下面这个代码在配置好后,即可从服务器上面删除代码或者把index.php改一个名字。
url必须是完整的url,比如
<?php
/**
* wechat php test
* update time: 20141008
*/
//define your token
//下面的即是你设置的token令牌
define("TOKEN", "zj123456");
$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)) {
$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()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr == $signature) {
return true;
} else {
return false;
}
}
}2、配置ok后,接下来就可以实现相关的微信公众号相关功能,比如说自动回复机器人。
代码包含3部分,当然,自动回复机器人,下面的代码有些用不到。
(1) 、index.php
<?php
define("APPID","xxxxxxx");
define("APPSECRET","xxxxxx");
define("TOKEN","zj123456");
require("./wechat.inc.php");
$wechat = new WeChat(APPID,APPSECRET,TOKEN);
$wechat->responseMsg();
?>(2)、wechat.inc.php
<?php
class WeChat
{
private $_appid;
private $_appsecret;
private $_token;
public function __construct($appid, $appsecret, $token)
{
$this->_appid = $appid;
$this->_appsecret = $appsecret;
$this->_token = $token;
}
/**
*_request():发出请求
*@curl:访问的URL
*@https:安全访问协议
*@method:请求的方式,默认为get
*@data:post方式请求时上传的数据
**/
private function _request($curl, $https = true, $method = 'get', $data = null, $headers = null)
{
$ch = curl_init(); //初始化
curl_setopt($ch, CURLOPT_URL, $curl); //设置访问的URL
// curl_setopt($ch, CURLOPT_HEADER, false); //设置不需要头信息
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //只获取页面内容,但不输出
if ($https) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不做服务器认证
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不做客户端认证
}
if ($method == 'post') {
curl_setopt($ch, CURLOPT_POST, true); //设置请求是POST方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //设置POST请求的数据
}
$str = curl_exec($ch); //执行访问,返回结果
curl_close($ch); //关闭curl,释放资源
return $str;
}
/**
*_getAccesstoken():获取access token
**/
private function _getAccesstoken()
{
$file = './accesstoken'; //用于保存access token
if (file_exists($file)) { //判断文件是否存在
$content = file_get_contents($file); //获取文件内容
$content = json_decode($content); //json解码
if (time() - filemtime($file) < $content->expires_in) //判断文件是否过期
{
return $content->access_token;
}
//返回access token
}
$content = $this->_request(" . $this->_appid . "&secret=" . $this->_appsecret); //获取access token的json对象
file_put_contents($file, $content); //保存json对象到指定文件
$content = json_decode($content); //进行json解码
return $content->access_token; //返回access token
}
/**
*_getTicket():获取ticket,用于以后换取二维码
*@expires_secords:二维码有效期(秒)
*@type :二维码类型(临时或永久)
*@scene:场景编号
**/
public function _getTicket($expires_secords = 604800, $type = "temp", $scene = 1)
{
if ($type == "temp") { //临时二维码的处理
$data = '{"expire_seconds":' . $expires_secords . ', "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": ' . $scene . '}}}'; //临时二维码生成所需提交数据
return $this->_request(" . $this->_getAccesstoken(), true, "post", $data, ''); //发出请求并获得ticket
} else { //永久二维码的处理
$data = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": ' . $scene . '}}}'; //永久二维码生成所需提交数据
return $this->_request(" . $this->_getAccesstoken(), true, "post", $data, ''); //发出请求并获得ticket
}
}
/**
*_getQRCode():获取二维码
*@expires_secords:二维码有效期(秒)
*@type:二维码类型
*@scene:场景编号
**/
public function _getQRCode($expires_secords, $type, $scene)
{
$content = json_decode($this->_getTicket($expires_secords, $type, $scene)); //发出请求并获得ticket的json对象
$ticket = $content->ticket; //获取ticket
$image = $this->_request(" . urlencode($ticket)
); //发出请求获得二维码图像
//$file = "./".$type.$scene.".jpg";// 可以将生成的二维码保存到本地,便于使用
//file_put_contents($file, $image);//保存二维码
return $image;
}
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"]; //获得用户发送信息
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
switch ($postObj->MsgType) {
case 'event':
$this->_doEvent($postObj);
break;
case 'text':
$this->_doText($postObj);
break;
case 'image':
$this->_doImage($postObj);
break;
case 'voice':
$this->_doVoice($postObj);
break;
case 'video':
$this->_doVideo($postObj);
break;
case 'location':
$this->_doLocation($postObj);
break;
default:exit;
}
}
private function _doEvent($postObj)
{ //事件处理
switch ($postObj->Event) {
case 'subscribe': //订阅
$this->_doSubscribe($postObj);
break;
case 'unsubscribe': //取消订阅
$this->_doUnsubscribe($postObj);
break;
default:;
}
}
private function _doSubscribe($postObj)
{
$tpltext = '<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>';
$access_token = $this->_getAccesstoken();
$userInfo = $this->getUserinfo($access_token, $postObj->FromUserName);
$str = sprintf($tpltext, $postObj->FromUserName, $postObj->ToUserName, time(), '欢迎您关注' . 'Geroge Zhang' . '的世界!');
//还可以保存用户的信息到数据库
echo $str;
}
private function _doUnsubscribe($postObj)
{
; //把用户的信息从数据库中删除
}
private function _doText($postObj)
{
$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)) {
// $data_add = "question=" . $keyword;
// $appcode = "2fd264cdc7914b308e51ab986f73fb86";
// $headers = array();
// array_push($headers, "Authorization:APPCODE " . $appcode);
// $contentStr = $this->_request("" . $data_add, false, "GET", '', $headers);
$data_add = urlencode($keyword);
$contentStr = $this->_request(";appid=0&msg=" . $data_add, false, "GET", '', '');
$contentStr = json_de

php微信框架搭建 php微信公众平台开发ibeacon怎么写我爱编程网

接入微信开发时php实例怎么配置

第一步需要指定接收微信服务器数据的URL,同时还需要指定一个TOKEN(由开发者任意填写,用于生成签名),用于接入时的验证。
第二步要验证您指定的URL的有效性,微信服务器会像您指定的URL发送一个GET请求,该请求携带四个参数。
开发者通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
PHP检验代码如下。
<?php
$wechatObj
=
new
wechatCallbackAPI();
$wechatObj->valid();
class
wechatCallbackAPI
{
private
$token
=
"WEIXIN";
private
$appId
=
"APPID";
private
$appSecret
=
"APPSECRET";
private
function
checkSignature()
{
$signature
=
$_GET["signature"];
$timestamp
=
$_GET["timestamp"];
$nonce
=
$_GET["nonce"];
$tmpArr
=
array($this->token,
$timestamp,
$nonce);
你看过后很简单吧以后不会可以向我一样经常到后盾人平台找找相关教材看看就会了,希望能帮到你,给个采纳吧谢谢ヾ(◍
°

°
◍)ノ゙

以上就是我爱编程网整理的php微信框架搭建 php微信公众平台开发ibeacon怎么写相关内容,想要了解更多信息,敬请查阅我爱编程网。
与“php微信框架搭建 php微信公众平台开发ibeacon怎么写”相关推荐
php微信公众号开发框架 php微信公众平台开发ibeacon怎么写
php微信公众号开发框架 php微信公众平台开发ibeacon怎么写

怎么样使用php的laravel框架快速集成微信登录1.安装php_weixin_provider在项目下运行composerrequirethirdproviders/weixin,即可完成安装。安装成功后,在项目的vendor目录下应该能看到php_weixin_provider的库文件:image2.配置微信登录的参数一共有7个参数可以配置,分别是:client_i

2023-10-04 03:56:34
微信公众平台php框架 帮忙写个微信公众平台模板消息范例 PHP
微信公众平台php框架 帮忙写个微信公众平台模板消息范例 PHP

微信公众号是有什么程序语言开发的需要“PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础”PHPPHP,一个嵌套的缩写名称,是英文超级文本预处理语言的缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

2023-08-30 04:58:46
php微信推送框架 php如何编写一个微信公众平台的消息推送?
php微信推送框架 php如何编写一个微信公众平台的消息推送?

php怎么获取微信服务器发送的componentverifyticketyii框架我当时针对这个问题的解决方法就是使用renderPartialrenderPartial这个函数是直接渲染视图文件,而不会加载main.php所以我写出来之后发现很多页面都包含了相同段代码。你可以去后盾人平台看一下,里面的东西不错php如何实现消息推送当我们遇到消息推送功能要如何开发呢?

2023-09-23 00:00:29
微信框架php代码demo 帮忙写个微信公众平台模板消息范例 PHP
微信框架php代码demo 帮忙写个微信公众平台模板消息范例 PHP

帮忙写个微信公众平台模板消息范例PHP如图所示:openidid改成你自己的,接口URL改下,由于百度不等发链接&lt;?php$access_token = 'KS3N4n80ZPeLsxPQIlgicPC5fGfyjhXAILK4Nv5QbV4xm4uuOnoYYJUbu89p1g0fqVmWZjdsg3ypfvnJ3CzcSXUwd7q1K9RPSMsNqRHl_e8';$url

2023-09-29 00:12:34
php微信公众平台框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?
php微信公众平台框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

怎么样使用php的laravel框架快速集成微信登录1.安装php_weixin_provider在项目下运行composerrequirethirdproviders/weixin,即可完成安装。安装成功后,在项目的vendor目录下应该能看到php_weixin_provider的库文件:image2.配置微信登录的参数一共有7个参数可以配置,分别是:client_i

2023-09-24 15:32:54
微信公众平台开发php框架 开发微信公众平台,sae的代码里index.php里面要弄什么内容啊?
微信公众平台开发php框架 开发微信公众平台,sae的代码里index.php里面要弄什么内容啊?

开发微信公众平台,sae的代码里index.php里面要弄什么内容啊?给分吧,你可以到微信公众平台官网的帮助中心下载一个案例文件wx_sample.zip,然后上传到你的SAE里去在配置你的公众平台开发者模式就可以用了。把wx_sample.php代码啃了一下,现附上自己的见解:01/**02*wechatphptest03*/0405//defineyourtoke

2023-10-03 12:26:19
开发微信用什么php框架 微信公众平台开发需要哪些工具?
开发微信用什么php框架 微信公众平台开发需要哪些工具?

PHP开发用哪种框架PHP开发常用框架一、CI框架CI框架是一个简单快速的PHPMVC轻量级框架,它执行效率高,快速简洁,代码量少,适合中小型项目开发,也可以做大型项目,但扩展能力不是很好。优势:框架比较简单,适合入门开发,易学,上手快,静态化很容易,文档比较详细。缺点:由于框架较小,所以功能不完全,比如使用mongoDB就要自己实现接口,对数据库的操作不够安全(写入

2023-09-27 12:02:05
微信框架php代码csdn php如何编写一个微信公众平台的消息推送?
微信框架php代码csdn php如何编写一个微信公众平台的消息推送?

php微信开发获取用户信息步骤一:获取用户信息需要”通过微信认证“请确认你是否有相应权限步骤二:获取用户基本信息,必须提供ACCESS_TOKEN和openid两个参数//正常情况下,微信会返回下述JSON数据包给公众号:{   "subscribe": 1,    "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",    "nickna

2023-09-29 03:13:59