PHP基于phpqrcode类库生成二维码过程解析


Posted in Python onMay 28, 2020

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))));

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; }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python urlopen()函数 示例分享
Jun 12 Python
Python迭代器和生成器介绍
Mar 06 Python
用Python生成器实现微线程编程的教程
Apr 13 Python
基于Python实现对PDF文件的OCR识别
Aug 05 Python
Python基于matplotlib绘制栈式直方图的方法示例
Aug 09 Python
Python编程使用NLTK进行自然语言处理详解
Nov 16 Python
Django forms组件的使用教程
Oct 08 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
Nov 11 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
tensorflow实现训练变量checkpoint的保存与读取
Feb 10 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
Mar 30 Python
pycharm-professional-2020.1下载与激活的教程
Sep 21 Python
Python函数参数分类原理详解
May 28 #Python
pygame用blit()实现动画效果的示例代码
May 28 #Python
PyCharm中如何直接使用Anaconda已安装的库
May 28 #Python
Python内置异常类型全面汇总
May 28 #Python
python不到50行代码完成了多张excel合并的实现示例
May 28 #Python
python使用openpyxl操作excel的方法步骤
May 28 #Python
基于python实现破解滑动验证码过程解析
May 28 #Python
You might like
PHP实时显示输出
2008/10/02 PHP
php使用指定编码导出mysql数据到csv文件的方法
2015/03/31 PHP
Jquery iframe内部出滚动条
2010/02/11 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
JavaScript实现一个带AI的井字棋游戏源码
2018/05/21 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
tornado 多进程模式解析
2018/01/15 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
linux环境下Django的安装配置详解
2019/07/22 Python
django和vue实现数据交互的方法
2019/08/21 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
linux面试题参考答案(6)
2016/06/23 面试题
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
读书伴我成长演讲稿
2014/05/07 职场文书
员工薪酬激励方案
2014/06/13 职场文书
大学英语专业求职信
2014/06/21 职场文书
建国大业电影观后感
2015/06/01 职场文书
文艺演出主持词
2015/07/01 职场文书
Golang中interface{}转为数组的操作
2021/04/30 Golang
alibaba seata服务端具体实现
2022/02/24 Java/Android
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL
css弧边选项卡的项目实践
2023/05/07 HTML / CSS