微信jssdk接口(php)

本文介绍了一种使用PHP实现的微信JS-SDK配置方法,包括获取access_token、jsapi_ticket及生成签名的过程。通过此方法,开发者可以轻松为网页集成微信功能。
<?php 
//微信jssdk接口
function weixinsdk(){ 
//公众号查看appid跟secret分别填入
$appid = 'your appid';
$secret = 'your secret';


$ticketData =json_decode(file_get_contents("jsapi_ticket.json"));
if($ticketData->expire_time < time() || !$ticketData->jsapi_ticket){
$token='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret;

$token = json_decode(http_get($token));


$jsapi_ticket = json_decode(http_get('https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token='.$token->access_token.'&type=jsapi'));
if ($jsapi_ticket) {
$ticketData->expire_time = time() + 7000;
$ticketData->jsapi_ticket = $jsapi_ticket->ticket;
$fp = fopen("jsapi_ticket.json", "w");
fwrite($fp, json_encode($ticketData));
fclose($fp);
}
}
$jsapi_ticket = $ticketData->jsapi_ticket;


$timestamp = time();


$url = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];

$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
   
   $nonceStr = "";
   
   for ($i = 0; $i < 16; $i++){
     $nonceStr .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
   }


$string = "jsapi_ticket=$jsapi_ticket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";
$signPackage = array(
'appId' => $appid,
'timestamp' => $timestamp,
'nonceStr' => $nonceStr,
'signature' => sha1($string),
);
return $signPackage;


}
/**
* GET 请求
* @param string $url
*/
function http_get($url){
$oCurl = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
$sContent = curl_exec($oCurl);
$aStatus = curl_getinfo($oCurl);
curl_close($oCurl);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
return false;
}
}
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值