小程序生成带参数的小程序码PHP操作

 难点是请求https://api.weixin.qq.com/wxa/getwxacodeunlimit  ,

的时候请求方式是raw,第二,由于返回的是图片的数据,因此,直接把返回的数据写进文件中就可以。

$appid = '';//
$secret='';
$sendurl="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
$return =$this->http_get($sendurl1) ;
$data=json_decode($return,true);
					$pic=$this->http_postraw("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=".$data['access_token'],$user['id']) ;
$jpg = 'D://WWW/eschool/imgpublic/wxappshare_'.$data1['unionId'].'.jpg'; 
							
ob_end_clean();		//清空缓冲区
$fp = fopen($jpg,'w');	//写入图片
if(fwrite($fp,$pic))
{
    fclose($fp);
}

/**
* POST 请求
* @param string $url
* @param array $param
*/
private function http_postraw($url,$param){
$curl = curl_init();
if(stripos($url,"https://")!==FALSE){
	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
	curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
	curl_setopt($curl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
}
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
		  
CURLOPT_POSTFIELDS => "{\n\t\"page\":\"pages/index/index\",\n\t\"scene\":\"".$param."\",\n\t\"width\":\"280\"\n}\n",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"cache-control: no-cache"
),
));

$response = curl_exec($curl);
$err = curl_error($curl);

		curl_close($curl);

		if ($err) {
		  return("cURL Error #:" . $err);
		} else {
		  return($response) ;
		}
	}
发布了3 篇原创文章 · 获赞 0 · 访问量 1559

猜你喜欢

转载自blog.csdn.net/u012504951/article/details/90577554