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;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 如何打造一个高并发系统?
· 《SpringBoot》EasyExcel实现百万数据的导入导出