<?php
/*
decr:
appID
yourappid
appsecret
yoursecret
*/
session_start();
header("Content-type:text/html;Charset=utf-8");
/*access_token*/
function getAccesstopken(){
$appid = 'yourappid';
$secret= 'yoursecret';
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
$timeacc = file_get_contents("acctime.txt");
if(empty($timeacc)){
file_put_contents("acctime.txt",100);
getAccesstopken();
}else{
$time = time()-$timeacc;
if(($time/3600)<1){
file_put_contents('acctime.txt',time());
$jsoninfo = curlGet($url);
$access_token = $jsoninfo["access_token"];
$_SESSION['access_token'] = $access_token;
return $access_token;
}else{
return $_SESSION['access_token'];
}
}
}
/*微信服务器端ip*/
function getSeverip(){
//https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=ACCESS_TOKEN
$access_token = getAccesstopken();
$url = 'https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token='.$access_token;
return curlGet($url);
}
//jsapi_ticket进行获取方便进行签名和以后的jsdk的获取引用
//getJsapiticket();
echo 'getJsapiticket'.getJsapiticket().'getJsapiticket';
function getJsapiticket(){
//https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi
if(empty($_SESSION['ticket'])){
$access_token = getAccesstopken();
$url = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token='.$access_token.'&type=jsapi';
$ticket = curlGet($url);
$_SESSION['ticket'] = $ticket['ticket'];//ticket的有效性7200秒
return $ticket['ticket'];
}else{
return $_SESSION['ticket'];
}
}
/* 进行signature进行拼凑和sha1加密处理*/
//createSignature();
function createSignature(){
$jsapi_ticket = 'jsapi_ticket='.getJsapiticket();
$noncestr="noncestr='Wm3WZYTPz0wzccnW'";
$timestamp="timestamp=".time();
$url = "url='wechatr.xd107.com'";
/*按照ascii码的顺序进行排序*/
$string = $jsapi_ticket.'&'.$noncestr.'&'.$timestamp.'&'.$url;
/*进行cha1加密方法处理*/
//echo 'createSignature'.sha1($string).'createSignature';
//$_SESSION['sign'] = sha1($string);
//return sha1($string);//signature 参数的获取
header("location:http://wechatr.xd107.com/wx/index.html?".$timestamp.'&sign='.sha1($string));
}
/*接受消息处理*/
function showMessage(){
libxml_disable_entity_loader(true);
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$create_time = time();
if(($postObj->MsgType) == 'text'){
$msgType = 'text';
$content ='Welcome to 测试号';
$xmlText="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>%d</FuncFlag>
</xml>";
$resultStr=sprintf($xmlText,$fromUsername,$toUsername,time(),$content,$flag);
echo $resultStr;exit();
}else if ($postObj->MsgType == 'image') {
# 图片信息从处理
$xmlImage="<xml>";
$xmlImage.="<ToUserName><![CDATA[%s]]></ToUserName>";
$xmlImage.="<FromUserName><![CDATA[%s]]></FromUserName>";
$xmlImage.="<CreateTime>%s</CreateTime>";
$xmlImage.="<MsgType><![CDATA[image]]></MsgType>";
$xmlImage.="<Image><MediaId><![CDATA[%s]]></MediaId></Image>";
$xmlImage.="</xml>";
$media_id = 'BeaJCqIP724od0dhzc1fU9caRLHicRq8zc3N5BX8qf9RPiU2Dpu72qaN-BNRKQUK';
$resultStr=sprintf($xmlImage,$fromUsername,$toUsername,time(),$media_id);
echo $resultStr;exit();
}else if($postObj->MsgType == 'voice'){
#语音消息处理
}else if($postObj->MsgType == 'video'){
#视频消息处理
}else if($postObj->MsgType == 'shortvideo'){
#小视频消息处理
}else if($postObj->MsgType == 'location'){
#地理位置获取
}else if($postObj->MsgType == 'link'){
#消息链接
}else{}
}
}
/*微信图文,群发【订阅号与服务号认证后均可用】*/
sendImgtext();
function sendImgtext(){
//https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN
$access_token = getAccesstopken();
$url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=".$access_token;
$uploadImgtext = uploadImgtext();
$senddata = '{
"filter":{
"is_to_all":true
"group_id":""
},
"mpnews":{
"media_id":"'.$uploadImgtext.'"
},
"msgtype":"mpnews"
}';
echo "<pre/>";
var_dump($senddata);
$sendok = curlPost($url,$senddata);
echo '微信图文素材上传测试:'.'<br/>';
var_dump($sendok);/*测试接口限制次数*/
}
/*通过mediaid获取所对应图文信息*/
function mediaImgtext(){
//https://api.weixin.qq.com/cgi-bin/material/get_material?access_token=ACCESS_TOKEN
$access_token = getAccesstopken();
$url = 'https://api.weixin.qq.com/cgi-bin/material/get_material?access_token='.$access_token;
$meida = uploadImgtext();
$mediadata = '{
"media_id":'.$meida.'
}';
$showmedia = curlPost($url,$mediadata);
var_dump($showmedia);
}
/*图文素材上传,返回的素材的mediaid*/
function uploadImgtext(){
//$sucaiurl = 'https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token='.$actoken;
$thumbMediaid = thumbMediaid();
$access_token = getAccesstopken();
$url = 'https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token='.$access_token;
$postdata = '{
"articles": [
{
"thumb_media_id":"'.$thumbMediaid.'",
"author":"gjanuary",
"title":"Happy Day",
"content_source_url":"http://blog.csdn.net/gjanuary/article/details/50673580",
"content":"gjanuary",
"digest":"digest",
"show_cover_pic":"1"
}
]
}';
$uploadImgtext = curlPost($url,$postdata);
return $uploadImgtext['media_id'];
}
/*缩略图thumb_media_id获取*/
function thumbMediaid(){
//http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=thumb
$access_token = getAccesstopken();
$url = 'http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token='.$access_token.'&type=thumb';
$realurl = realpath("./").'/images/P_002.jpg';
$thumbMediaid = httprequest($realurl,$url);
return $thumbMediaid['thumb_media_id'];
}
/*(1)网页授权页面,【测试的时候要先用用浏览器输出链接在微信端打开即可】*/
authorization();
function authorization(){
//https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
$myurl = urlencode('http://wechatr.xd107.com/index.html');//需要跳转链接进行处理urlencode
$appid = 'yourappid';
$secret= 'yoursecret';
$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$myurl.'&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';
echo 'lianjie :'.$url.'<br/>';
}
/*网页收取2code换access_token说明这个code是跳转之后的前台页面又给传回来的,具体方案要根据实际情况这里只是测试用,并进行获取加的access_token*/
//getCode();
function getCode(){
$appid = 'yourappid';
$secret= 'yoursecret';
if (empty($_GET['code'])) {
echo " no code";
}else{
//echo $_GET['code'].'<br/>';
//https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$_GET["code"].'&grant_type=authorization_code';
$linacesstoken = curlGet($url);
return $linacesstoken;//当这个参数失效的时候可以用下面的secondAccesstoken的方法进行二次刷新
}
}
// 当accesstoken中失效的时候可能需要二次刷新accesstoken需要二次刷新
secondAccesstoken();
function secondAccesstoken(){
$linacesstoken = getCode();
$appid = 'yourappid';
$secret= 'yoursecret';
//https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
$url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.$appid.'&grant_type=refresh_token&refresh_token='.$linacesstoken['access_token'];
$refreshtoken = curlGet($url);
return $refreshtoken;
}
/*获取通过授权临时获取用的基本信息*/
function showUsermess(){
$access_token = getAccesstopken();
$linacesstoken = getCode();
$url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$linacesstoken['openid'].'&lang=zh_CN';
$userinfo = curlGet($url);
return $userinfo;
}
/*检验授权凭证(access_token)是否有效*/
function validateAuthoriz(){
$access_token = getAccesstopken();
$linacesstoken = getCode();
//https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID
$url = 'https://api.weixin.qq.com/sns/auth?access_token='.$access_token.'&openid='.$linacesstoken['openid'];
$vali = curlGet($url);
if(($vali['errcode']==0)&&$vali['errmsg']=='ok'){
/*表明有效否则无效*/
return '有效';
die();
}else{
return '无效';
die();
}
}
/*底部菜单方法*/
bottomMenu();
function bottomMenu(){
$access_token = getAccesstopken();
//https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
$url = 'http://www.baidu.com';//必须带http协议否则报错
$jsonmenu = '
{
"button":[
{
"type":"click",
"name":"点击事件测试",
"key":"V1001_TODAY_MUSIC"
},
{
"name":"接口测试",
"sub_button":[
{
"type":"view",
"name":"权限测试",
"url":"'.$url.'"
},
{
"type":"view",
"name":"视频",
"url":"http://v.qq.com/"
},
{
"type":"click",
"name":"赞一下我们",
"key":"V1001_GOOD"
}]
}]
}
';
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;
$result = curlPost($url, $jsonmenu);
echo "<pre>";
echo '菜单设定:'.'<br/>';
var_dump($result);exit();
}
/*curlget链接数据获取*/
function curlGet($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$jsoninfo = json_decode($output, true);
return $jsoninfo;
}
/*curlpost给链接传送数据*/
function curlPost($url,$data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result, true);
return $result;
}
/*图片返回的media方法*/
function httprequest($imgurl,$url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'file' => new CURLFile($imgurl),
]); //不同版本是不一样的老版本的php用注释掉的新版本用没有注释的
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result, true);
return $result;
}
?>
/*
decr:
appID
yourappid
appsecret
yoursecret
*/
session_start();
header("Content-type:text/html;Charset=utf-8");
/*access_token*/
function getAccesstopken(){
$appid = 'yourappid';
$secret= 'yoursecret';
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
$timeacc = file_get_contents("acctime.txt");
if(empty($timeacc)){
file_put_contents("acctime.txt",100);
getAccesstopken();
}else{
$time = time()-$timeacc;
if(($time/3600)<1){
file_put_contents('acctime.txt',time());
$jsoninfo = curlGet($url);
$access_token = $jsoninfo["access_token"];
$_SESSION['access_token'] = $access_token;
return $access_token;
}else{
return $_SESSION['access_token'];
}
}
}
/*微信服务器端ip*/
function getSeverip(){
//https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=ACCESS_TOKEN
$access_token = getAccesstopken();
$url = 'https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token='.$access_token;
return curlGet($url);
}
//jsapi_ticket进行获取方便进行签名和以后的jsdk的获取引用
//getJsapiticket();
echo 'getJsapiticket'.getJsapiticket().'getJsapiticket';
function getJsapiticket(){
//https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi
if(empty($_SESSION['ticket'])){
$access_token = getAccesstopken();
$url = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token='.$access_token.'&type=jsapi';
$ticket = curlGet($url);
$_SESSION['ticket'] = $ticket['ticket'];//ticket的有效性7200秒
return $ticket['ticket'];
}else{
return $_SESSION['ticket'];
}
}
/* 进行signature进行拼凑和sha1加密处理*/
//createSignature();
function createSignature(){
$jsapi_ticket = 'jsapi_ticket='.getJsapiticket();
$noncestr="noncestr='Wm3WZYTPz0wzccnW'";
$timestamp="timestamp=".time();
$url = "url='wechatr.xd107.com'";
/*按照ascii码的顺序进行排序*/
$string = $jsapi_ticket.'&'.$noncestr.'&'.$timestamp.'&'.$url;
/*进行cha1加密方法处理*/
//echo 'createSignature'.sha1($string).'createSignature';
//$_SESSION['sign'] = sha1($string);
//return sha1($string);//signature 参数的获取
header("location:http://wechatr.xd107.com/wx/index.html?".$timestamp.'&sign='.sha1($string));
}
/*接受消息处理*/
function showMessage(){
libxml_disable_entity_loader(true);
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$create_time = time();
if(($postObj->MsgType) == 'text'){
$msgType = 'text';
$content ='Welcome to 测试号';
$xmlText="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>%d</FuncFlag>
</xml>";
$resultStr=sprintf($xmlText,$fromUsername,$toUsername,time(),$content,$flag);
echo $resultStr;exit();
}else if ($postObj->MsgType == 'image') {
# 图片信息从处理
$xmlImage="<xml>";
$xmlImage.="<ToUserName><![CDATA[%s]]></ToUserName>";
$xmlImage.="<FromUserName><![CDATA[%s]]></FromUserName>";
$xmlImage.="<CreateTime>%s</CreateTime>";
$xmlImage.="<MsgType><![CDATA[image]]></MsgType>";
$xmlImage.="<Image><MediaId><![CDATA[%s]]></MediaId></Image>";
$xmlImage.="</xml>";
$media_id = 'BeaJCqIP724od0dhzc1fU9caRLHicRq8zc3N5BX8qf9RPiU2Dpu72qaN-BNRKQUK';
$resultStr=sprintf($xmlImage,$fromUsername,$toUsername,time(),$media_id);
echo $resultStr;exit();
}else if($postObj->MsgType == 'voice'){
#语音消息处理
}else if($postObj->MsgType == 'video'){
#视频消息处理
}else if($postObj->MsgType == 'shortvideo'){
#小视频消息处理
}else if($postObj->MsgType == 'location'){
#地理位置获取
}else if($postObj->MsgType == 'link'){
#消息链接
}else{}
}
}
/*微信图文,群发【订阅号与服务号认证后均可用】*/
sendImgtext();
function sendImgtext(){
//https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN
$access_token = getAccesstopken();
$url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=".$access_token;
$uploadImgtext = uploadImgtext();
$senddata = '{
"filter":{
"is_to_all":true
"group_id":""
},
"mpnews":{
"media_id":"'.$uploadImgtext.'"
},
"msgtype":"mpnews"
}';
echo "<pre/>";
var_dump($senddata);
$sendok = curlPost($url,$senddata);
echo '微信图文素材上传测试:'.'<br/>';
var_dump($sendok);/*测试接口限制次数*/
}
/*通过mediaid获取所对应图文信息*/
function mediaImgtext(){
//https://api.weixin.qq.com/cgi-bin/material/get_material?access_token=ACCESS_TOKEN
$access_token = getAccesstopken();
$url = 'https://api.weixin.qq.com/cgi-bin/material/get_material?access_token='.$access_token;
$meida = uploadImgtext();
$mediadata = '{
"media_id":'.$meida.'
}';
$showmedia = curlPost($url,$mediadata);
var_dump($showmedia);
}
/*图文素材上传,返回的素材的mediaid*/
function uploadImgtext(){
//$sucaiurl = 'https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token='.$actoken;
$thumbMediaid = thumbMediaid();
$access_token = getAccesstopken();
$url = 'https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token='.$access_token;
$postdata = '{
"articles": [
{
"thumb_media_id":"'.$thumbMediaid.'",
"author":"gjanuary",
"title":"Happy Day",
"content_source_url":"http://blog.csdn.net/gjanuary/article/details/50673580",
"content":"gjanuary",
"digest":"digest",
"show_cover_pic":"1"
}
]
}';
$uploadImgtext = curlPost($url,$postdata);
return $uploadImgtext['media_id'];
}
/*缩略图thumb_media_id获取*/
function thumbMediaid(){
//http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=thumb
$access_token = getAccesstopken();
$url = 'http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token='.$access_token.'&type=thumb';
$realurl = realpath("./").'/images/P_002.jpg';
$thumbMediaid = httprequest($realurl,$url);
return $thumbMediaid['thumb_media_id'];
}
/*(1)网页授权页面,【测试的时候要先用用浏览器输出链接在微信端打开即可】*/
authorization();
function authorization(){
//https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
$myurl = urlencode('http://wechatr.xd107.com/index.html');//需要跳转链接进行处理urlencode
$appid = 'yourappid';
$secret= 'yoursecret';
$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$myurl.'&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';
echo 'lianjie :'.$url.'<br/>';
}
/*网页收取2code换access_token说明这个code是跳转之后的前台页面又给传回来的,具体方案要根据实际情况这里只是测试用,并进行获取加的access_token*/
//getCode();
function getCode(){
$appid = 'yourappid';
$secret= 'yoursecret';
if (empty($_GET['code'])) {
echo " no code";
}else{
//echo $_GET['code'].'<br/>';
//https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$_GET["code"].'&grant_type=authorization_code';
$linacesstoken = curlGet($url);
return $linacesstoken;//当这个参数失效的时候可以用下面的secondAccesstoken的方法进行二次刷新
}
}
// 当accesstoken中失效的时候可能需要二次刷新accesstoken需要二次刷新
secondAccesstoken();
function secondAccesstoken(){
$linacesstoken = getCode();
$appid = 'yourappid';
$secret= 'yoursecret';
//https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
$url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.$appid.'&grant_type=refresh_token&refresh_token='.$linacesstoken['access_token'];
$refreshtoken = curlGet($url);
return $refreshtoken;
}
/*获取通过授权临时获取用的基本信息*/
function showUsermess(){
$access_token = getAccesstopken();
$linacesstoken = getCode();
$url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$linacesstoken['openid'].'&lang=zh_CN';
$userinfo = curlGet($url);
return $userinfo;
}
/*检验授权凭证(access_token)是否有效*/
function validateAuthoriz(){
$access_token = getAccesstopken();
$linacesstoken = getCode();
//https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID
$url = 'https://api.weixin.qq.com/sns/auth?access_token='.$access_token.'&openid='.$linacesstoken['openid'];
$vali = curlGet($url);
if(($vali['errcode']==0)&&$vali['errmsg']=='ok'){
/*表明有效否则无效*/
return '有效';
die();
}else{
return '无效';
die();
}
}
/*底部菜单方法*/
bottomMenu();
function bottomMenu(){
$access_token = getAccesstopken();
//https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
$url = 'http://www.baidu.com';//必须带http协议否则报错
$jsonmenu = '
{
"button":[
{
"type":"click",
"name":"点击事件测试",
"key":"V1001_TODAY_MUSIC"
},
{
"name":"接口测试",
"sub_button":[
{
"type":"view",
"name":"权限测试",
"url":"'.$url.'"
},
{
"type":"view",
"name":"视频",
"url":"http://v.qq.com/"
},
{
"type":"click",
"name":"赞一下我们",
"key":"V1001_GOOD"
}]
}]
}
';
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;
$result = curlPost($url, $jsonmenu);
echo "<pre>";
echo '菜单设定:'.'<br/>';
var_dump($result);exit();
}
/*curlget链接数据获取*/
function curlGet($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$jsoninfo = json_decode($output, true);
return $jsoninfo;
}
/*curlpost给链接传送数据*/
function curlPost($url,$data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result, true);
return $result;
}
/*图片返回的media方法*/
function httprequest($imgurl,$url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'file' => new CURLFile($imgurl),
]); //不同版本是不一样的老版本的php用注释掉的新版本用没有注释的
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result, true);
return $result;
}
?>