您现在的位置是:网站首页 > 心得笔记
使用PHP类库PHPqrCode生成二维码
简介前一篇讲了使用endroid/qrcode PHP生成带LOGO二维码,这里总结下我常用的PHPqrcode生成二维码的demo
1、下载phpqrcode
官网地址:http://phpqrcode.sourceforge.net/
下载后将包安放在你项目的相关目录,我这里放置在了项目根目录下
2、基本用法
use Qrcode; ... public function test () { include '/phpqrcode/phpqrcode.php'; QRcode::png('http://blog.blonglee.me'); // QRcode::png('code data text', 'filename.png'); // 创建filename.png二维码图片并保存 不直接在浏览器显示二维码 扫描后显示code datatext文字 exit;//与上一篇讲解的相同 加exit;会正确输出二维码图片 不加exit;直接输出字符串 } ...
运行效果
3、高级用法
use Qrcode; ... public function test () { $value="http://blog.blonglee.me"; $errorCorrectionLevel = 'L';//容错级别 $matrixPointSize = 6;//生成图片大小 //生成二维码图片 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = $_SERVER['DOCUMENT_ROOT'].'/front/images/like.jpg';//准备好的logo图片 绝对路径 $QR = 'qrcode.png';//已经生成的原始二维码图 即不带LOGO的二维码图 if ($logo !== FALSE) { $QR = imagecreatefromstring(file_get_contents($QR)); $logo = imagecreatefromstring(file_get_contents($logo)); $QR_width = imagesx($QR);//二维码图片宽度 $QR_height = imagesy($QR);//二维码图片高度 $logo_width = imagesx($logo);//logo图片宽度 $logo_height = imagesy($logo);//logo图片高度 $logo_qr_width = $QR_width / 5; //logo图片在二维码图片中宽度大小 $scale = $logo_width/$logo_qr_width; $logo_qr_height = $logo_height/$scale; //logo图片在二维码图片中高度大小 $from_width = ($QR_width - $logo_qr_width) / 2; //重新组合图片并调整大小 imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height); } Header("Content-type: image/png"); //1、直接输出二维码图到浏览器 ImagePng($QR); //2、保存二维码图到本地 // $filename = "023.png"; // imagepng($QR,$filename); // 保存最终生成的二维码到本地 exit; } ...
运行效果