文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php生成微信小程序二维码

2023-09-12 12:39

关注
//生成小程序二维码,$mem_id是二维码带的参数,拿过去写上自己的appid和秘钥就能用        public function ceshihtml($mem_id)        {            $APPID ="";//小程序appid            $APPSECRET = "";//小程序秘钥            $access_token=$this->checkAuth($APPID,$APPSECRET);//获取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'] =$access_token;            $_SESSION['expires_in'] = 0;            $ACCESS_TOKEN ="";            if(!isset($_SESSION['access_token']) || (isset($_SESSION['expires_in']) && time() >$_SESSION['expires_in']))            {                $json = $this->httpRequest($access_token);                $json = json_decode($json,true);                // var_dump($json);                $_SESSION['access_token'] =$json['access_token'];                $_SESSION['expires_in'] = time()+7100;                $ACCESS_TOKEN =$json["access_token"];            }            else{                $ACCESS_TOKEN = $_SESSION["access_token"];            }            //构建请求二维码参数            //path是扫描二维码跳转的小程序路径,可以带参数?id=xxx,透明底色'is_hyaline'=>true            //width是二维码宽度            $qcode ="https://api.weixin.qq.com/wxa/getwxacode?access_token=".$ACCESS_TOKEN;//生成圆形二维码           // $qcode ="https://file.lsjlt.com/upload/f/202309/12/bhd53wc1jez.png';            $ret = file_put_contents($filename, $result, true);            return $filename;            //下面是加密            // $base64_image ="data:image/jpeg;base64,".base64_encode($result );            // echo $base64_image;            // return view($this->tmplDir . '.' . 'ceshihtml', $this->data);    }    //把请求发送到微信服务器换取二维码    public 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;    }        //获取access_token        public function checkAuth($appid,$appsecret){        $url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret;        $result = $this->http_get($url);        if ($result){        $json = json_decode($result,true);        if (!$json || isset($json['errcode'])) {            return false;        }            return $json['access_token'];        }            return false;        }                        private function http_get($url){        $oCurl = curl_init();        if(stripos($url,"https://")!==FALSE){            curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);            curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);            curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1        }            curl_setopt($oCurl, CURLOPT_URL, $url);            curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );            $sContent = curl_exec($oCurl);            $aStatus = curl_getinfo($oCurl);            curl_close($oCurl);            if(intval($aStatus["http_code"])==200){                return $sContent;            }else{        return false;        }    }

来源地址:https://blog.csdn.net/weixin_50024460/article/details/127111472

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯