php获取⼩程序⼆维码返回的Buffer⼆进制数据保存图⽚全套代码废话不说,直接上代码
$url = "api.weixin.qq/wxa/getwxacode?access_token=".$access_token; //$access_token为⾃⼰获取的token,后⾯有写
$codeinfo = $this->http_request($url, $array_json);//图⽚流 buffer curl提交数据获取图⽚流
//判断是否是 json格式
if(is_null(json_decode($codeinfo))){
//不是json数据有数据流 json_decode($codeinfo)返回值为 null
$jpg = $codeinfo;//得到post过来的⼆进制原始数据
$file = fopen("xcxcode/wxcode1.jpg","w");//创建件准备写⼊,⽂件名xcxcode/wxcode1.jpg为⾃定义
fwrite($file,$jpg);//写⼊
fclose($file);//关闭
}else{
//是json数据
$codeinfo_array=json_decode($codeinfo,true);
//没有接收到数据流
return "no";
}
完后把⾃定义的⽂件名保存即可
获取access_token:
/**
* 获取access_token
* @return [type] [description]
*/
private function get_access_token(){
$file = "";//⾃定义⽂件名但是⽂件夹需提前创建
if(!file_exists($file)){
$get = $this->get_toxcx_access_token();
return $get;
}
$fileinfo = file_get_contents("");
$time = time();
//获取token时间看是否有效
isnull的用法$info = explode(",", $fileinfo);
if($info[1]>=$time){
/
/token有效
return $info[0];
}else{
//⽆效的话则调⽤
$get = $this->get_toxcx_access_token();
return $get;
}
}
private function get_toxcx_access_token(){
$xcxInfo = $this->getXcxInfo();//获取⼩程序 appid,secret
$url = "api.weixin.qq/cgi-bin/token?grant_type=client_credential&appid=".$xcxInfo["appid"]."&secret=".$xcxInfo["secret"];
//初始化
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
//设置头⽂件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 0);
//设置获取的信息以⽂件流的形式返回,⽽不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//执⾏命令
$data = curl_exec($curl);
echo curl_getinfo($curl,CURLINFO_HTTP_CODE); //输出请求状态码
/
/关闭URL请求
curl_close($curl);
//显⽰获得的数据
$data_array = json_decode($data,true);//转换数组
if(array_key_exists("access_token", $data_array)){
$text = $data_array["access_token"].",".(time()+7000);
//写⼊⽂件中
if(!file_exists("")){
fopen("","wb");
}
//把值存⼊⽂件中
$myfile = fopen("", "w");
fwrite($myfile, $text);//写⼊⽂件
fclose($myfile);//关闭⽂件
return $data_array["access_token"];
}else{
return "no";
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论