zoukankan      html  css  js  c++  java
  • php(tp5) 生成二维码

    phpqrcode类库官网下载地址:https://sourceforge.net/projects/phpqrcode/

    1.我们先看看php是怎么生成二维码的

      

      1.首先我们先下载一下  phpqrcode  类库。

      2.下载完后解压我们会发现  phpqrcode文件夹  里面有一堆的文件,但是我们只需要找到 phpqrcode.php 文件复制, 跟  index.php 文件放在一起即可,而 index.php 就是你生成二维码的php代码。

      

      3.接下来就是代码环节了,复制以下代码黏贴到php文件里保存执行,你就会发现,在index.php文件里面会多出一个文件夹,点开你就会发现里面就是你想要的二维码。

      

    <?php
    
    //生成二维码
    function userimg(){
        
      //引入phpqrcode类库文件
      require_once 'phpqrcode.php';
    
      $value = 'https://www.cnblogs.com/junyi-bk/';         //二维码内容
      $errorCorrectionLevel = 'L';  //容错级别
      $matrixPointSize = 5;      //生成图片大小
    
      // 判断是否有这个文件夹  没有的话就创建一个
      if(!is_dir("qrcode")){
        // 创建文件加
        mkdir("qrcode");
      }
    
      //设置二维码图片名称,以及存放的路径
      $filename = 'qrcode/'.time().rand(10000,9999999).'.png';
      
      //使用类库生成二维码
      QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);
      
     //如果需要转换成base64数据,解开下面这行注释即可
     //$image_data = chunk_split(base64_encode(fread(fopen($filename, 'r'), filesize($filename))));
    //二维码路径 return $filename; 
    }

    //调用生成二维码方法 echo userimg();

    2.上面就是纯php生成二维码的方法了,那么我们来看看用tp5是怎么生成二维码的

      1.首先我们先下载一下  phpqrcode  类库,还是一样,需要用到phpqrcode类库。

      2.取出 phpqrcode.php,然后放到 vendor文件夹里面(vendor的作用就是用来放第三方类库)

      

      3.准备工作都做好了,接下来就是代码环节了,只需要在控制器里面写入并调用以下方法,即可看到你要的二维码了

      

    //二维码
        public function UserImg(){
    
            vendor('phpqrcode');//引入类库
            $value = 'https://www.cnblogs.com/junyi-bk/';         //二维码内容
            $errorCorrectionLevel = 'L';  //容错级别
            $matrixPointSize = 5;      //生成图片大小
            //生成二维码图片
            // 判断是否有这个文件夹  没有的话就创建一个
            if(!is_dir("qrcode")){
                // 创建文件加
                mkdir("qrcode");
            }
            //设置二维码文件名
            $filename = 'qrcode/'.time().rand(10000,9999999).'.png';
            //生成二维码
            QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);

    //如果需要转换成base64数据,解开下面这行注释即可
     //$image_data = chunk_split(base64_encode(fread(fopen($filename, 'r'), filesize($filename))));
    //获取当前域名 $request = Request::instance(); $domain = $request->domain();       

    return $domain.'/'.$filename;
    }
  • 相关阅读:
    使用DBCP时发生AbstractMethodError异常
    Android NDK 环境搭建 + 测试例程
    一个关于含有显式实参的虚函数调用问题解释
    cookie和session
    hello
    python 多线程多进程
    python 网络编程
    docker 制作镜像
    docker 数据卷存储
    docker 简单原理及相关命令(镜像拉取 删除 执行容器 进入容器)
  • 原文地址:https://www.cnblogs.com/junyi-bk/p/11577237.html
Copyright © 2011-2022 走看看