当前位置:   article > 正文

微信小程序生成二维码并且扫码跳转并且携带参数_小程序分享二维码跳转会记不住账户

小程序分享二维码跳转会记不住账户
  1. <?php
  2. header('content-type:text/html;charset=utf-8');
  3. //配置APPID、APPSECRET
  4. $APPID = "APPID";
  5. $APPSECRET = "APPSECRET";
  6. //获取access_token
  7. $access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$APPID&secret=$APPSECRET";
  8. //缓存access_token
  9. session_start();
  10. $_SESSION['access_token'] = "";
  11. $_SESSION['expires_in'] = 0;
  12. $ACCESS_TOKEN = "";
  13. if(!isset($_SESSION['access_token']) || (isset($_SESSION['expires_in']) && time() > $_SESSION['expires_in'])) {
  14. $json = httpRequest( $access_token );
  15. $json = json_decode($json,true);
  16. // var_dump($json);
  17. $_SESSION['access_token'] = $json['access_token'];
  18. $_SESSION['expires_in'] = time()+7200;
  19. $ACCESS_TOKEN = $json["access_token"];
  20. }else{
  21. $ACCESS_TOKEN = $_SESSION["access_token"];
  22. }
  23. //构建请求二维码参数
  24. //path是扫描二维码跳转的小程序路径,可以带参数?id=xxx
  25. //width是二维码宽度
  26. $qcode ="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=$ACCESS_TOKEN";
  27. $param = json_encode(array("path"=>"pages/index/index?id=123","width"=> 150));
  28. //POST参数
  29. $result = httpRequest( $qcode, $param,"POST");
  30. //生成二维码
  31. file_put_contents("./qrcode.png", $result);
  32. //把请求发送到微信服务器换取二维码
  33. function httpRequest($url, $data='', $method='GET'){
  34. $curl = curl_init();
  35. curl_setopt($curl, CURLOPT_URL, $url);
  36. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
  37. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
  38. curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  39. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  40. curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
  41. if($method=='POST')
  42. {
  43. curl_setopt($curl, CURLOPT_POST, 1);
  44. if ($data != '')
  45. {
  46. curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  47. }
  48. }
  49. curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  50. curl_setopt($curl, CURLOPT_HEADER, 0);
  51. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  52. $result = curl_exec($curl);
  53. curl_close($curl);
  54. return $result;
  55. }
  56. ?>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/994560
推荐阅读
相关标签
  

闽ICP备14008679号