PHP完全自学手册(珍藏版) 中文pdf扫描版下载
微信公众号推送 创建菜单 删除菜单的方法
<?php
/**
* Created by PhpStorm.
* User: kuitao8
* Date: 14-7-22
* Time: 下午10:32
*/
header("Content-type:text/html;charset=utf-8");
function getcurl($url,$data=array()){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
// 这一句是最主要的
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch) ;
return $response;
}
function sendMessage($url,$message){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS,$message);
curl_exec($curl);
}
function json_encodes($arr) {
$parts = array ();
$is_list = false;
//Find out if the given array is a numerical array
$keys = array_keys ( $arr );
$max_length = count ( $arr ) - 1;
if (($keys [0] === 0) && ($keys [$max_length] === $max_length )) { //See if the first key is 0 and last key is length - 1
$is_list = true;
for($i = 0; $i < count ( $keys ); $i ++) { //See if each key correspondes to its position
if ($i != $keys [$i]) { //A key fails at position check.
$is_list = false; //It is an associative array.
break;
}
}
}
foreach ( $arr as $key => $value ) {
if (is_array ( $value )) { //Custom handling for arrays
if ($is_list)
$parts [] = json_encodes ( $value ); /* :RECURSION: */
else
$parts [] = '"' . $key . '":' . json_encodes ( $value ); /* :RECURSION: */
} else {
$str = '';
if (! $is_list)
$str = '"' . $key . '":';
//Custom handling for multiple data types
if (is_numeric ( $value ) && $value<2000000000)
$str .= $value; //Numbers
elseif ($value === false)
$str .= 'false'; //The booleans
elseif ($value === true)
$str .= 'true';
else
$str .= '"' . addslashes ( $value ) . '"'; //All other things
// :TODO: Is there any more datatype we should be in the lookout for? (Object?)
$parts [] = $str;
}
}
$json = implode ( ',', $parts );
if ($is_list)
return '[' . $json . ']'; //Return numerical JSON
return '{' . $json . '}'; //Return associative JSON
}
$url = "https://api.weixin.qq.com/cgi-bin/token?";
$data = array(
'grant_type'=>'client_credential',
'appid'=>'wx9c28XXXXXXXX',
'secret'=>'25aa33c689XXXXXXXXXXXXXX'
);
$file = getcurl($url,$data);
$josn = json_decode($file,true);
$token = $josn['access_token'];
$mss = '{
"button":[
{
"type":"click",
"name":"随机笑话",
"key":"AAAA"
},
{
"type":"click",
"name":"精典笑话",
"key":"BBBB"
},
{
"name":"更多",
"sub_button":[
{
"type":"view",
"name":"UI",
"url":"http://www.kuitao8.com/webui"
},
{
"type":"view",
"name":"PSD",
"url":"http://www.kuitao8.com/psd"
},
{
"type":"view",
"name":"PHP",
"url":"http://www.kuitao8.com/phpone"
},
{
"type":"view",
"name":"jQuery",
"url":"http://www.kuitao8.com/jQuery"
},
{
"type":"click",
"name":"帮助",
"key":"CCCC"
}]
}]
}
]
}
';
$curl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=$token";
$curl2 = "https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=$token";
$curl3 = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$token";
//微信菜单创建
sendMessage($curl,$mss);
//微信菜单删除
sendMessage($curl2,$mss);
//微信推送
$message = array(
'touser'=>'o-qtHt1lk2rNn6tDnSohtMocNmJk',
'msgtype'=>'text',
'text'=>array('content'=>'推送消息测试')
);
$message = json_encodes($message);
sendMessage($curl3,$message);
转载请注明:谷谷点程序 » php微信公众号推送 创建菜单 删除菜单的方法