Blogger Information
Blog 47
fans 0
comment 2
visits 102692
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php生成带参数的微信小程序二维码
拾一枝樱花的博客
Original
1798 people have browsed it

<?php

header('content-type:text/html;charset=utf-8');

//配置APPID、APPSECRET

$APPID = "你的appid";

$APPSECRET = "你的APPSECRET";

if(!empty($_GET['id'])){

    $params = "?id=".$_GET['id'];

}else{

    $params = '';

}

//获取access_token

$access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$APPID&secret=$APPSECRET";

//缓存access_token

session_start();

$_SESSION['access_token'] = "";

$_SESSION['expires_in'] = 0;

$ACCESS_TOKEN = "";

if (!isset($_SESSION['access_token']) || (isset($_SESSION['expires_in']) && time() > $_SESSION['expires_in'])) {

    $json = httpRequest($access_token);

    $json = json_decode($json, true);

    $_SESSION['access_token'] = $json['access_token'];

    $_SESSION['expires_in'] = time() + 7200;

    $ACCESS_TOKEN = $json["access_token"];

} else {

    $ACCESS_TOKEN = $_SESSION["access_token"];

}


//构建请求二维码参数

//path是扫描二维码跳转的小程序路径,可以带参数?id=xxx

//width是二维码宽度

$qcode = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=$ACCESS_TOKEN";

$param = json_encode(array("path" => "lionfish_comshop/pages/index/index".$params, "width" => 150));

//POST参数

$result = httpRequest($qcode, $param, "POST");

//生成二维码

file_put_contents("qrcode.png", $result);

$base64_image = "data:image/jpeg;base64," . base64_encode($result);

//把请求发送到微信服务器换取二维码

function httpRequest($url, $data = '', $method = 'GET'){

    $curl = curl_init();

    curl_setopt($curl, CURLOPT_URL, $url);

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);

    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);

    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

    curl_setopt($curl, CURLOPT_AUTOREFERER, 1);

    if ($method == 'POST') {

        curl_setopt($curl, CURLOPT_POST, 1);

        if ($data != '') {

            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

        }

    }

    curl_setopt($curl, CURLOPT_TIMEOUT, 30);

    curl_setopt($curl, CURLOPT_HEADER, 0);

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    $result = curl_exec($curl);

    curl_close($curl);

    return $result;

}

?>

<img src="<?php echo $base64_image; ?>"/>


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post