php生成二维码

60 篇文章 0 订阅
54 篇文章 1 订阅

(1)下载类库文件
php类库PHP QR Code,地址:
http://phpqrcode.sourceforge.net/
https://sourceforge.net/projects/phpqrcode/
(2)放到项目里
把下载的文件解压后有个phpqrcode.php文件,复制放到项目里

public function eweima(){
        include_once('../app/Extensions/phpqrcode/phpqrcode.php');
        //保存的路径
        $file_path = '../uploads/tmp/';
        //二维码的内容
        $url = 'https://myok.top';
        //容错级别
        $errorCorrentionLevel = 'L';
        //生成图片大小
        $matrixPoinSize = 6;
        //生成二维码
        $filename = '';
        \QRcode::png($url,$file_path.'qrcode.png',$errorCorrentionLevel,$matrixPoinSize,2);

        //上传保存
        $uploads = new UploadsController();
        $uploads->uploadsiImgMobile($filename);

    }

用PHP二维码生成类库QRcode,很好用,简单快捷!

//引入核心库文件

include "phpqrcode/phpqrcode.php";

//定义纠错级别

$errorLevel = "L";

//定义生成图片宽度和高度;默认为3

$size = "4";

//定义生成内容

// $content="尝试一下内容测试";
// //调用QRcode类的静态方法png生成二维码图片//

// QRcode::png($content, false, $errorLevel, $size);

//生成网址类型

$url="http://www.lpcblog.com/";



QRcode::png($url, false, $errorLevel, $size);

一、加入LOGO的代码示例

/**
* Created by PhpStorm.
* phpqrcode.php提供了一个关键的png()方法,
* @param $text  生成二位的的信息文本;
* @param $outfile  是否输出二维码图片 文件,默认否;
* @param $level  容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),                               *  M(QR_ECLEVEL_M, 15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);
* @param $size  生成图片大小,默认是3;
* @param $margin  二维码周围边框空白区域间距值;
* @param $saveandprint  是否保存二维码并 显示。
*/

//本地文档相对路径
$url = '../public/images/';

//引入php QR库文件
include_once('../public/phpqrcode/phpqrcode.php');

$value = 'https://imlyq.top';
$errorCorrentionLevel = 'L'; //容错级别
$matrixPoinSize = 6; //生成图片大小

//生成二维码,第二个参数为二维码保存路径
QRcode::png($value,$url.'qrcode.png',$errorCorrentionLevel,$matrixPoinSize,2);
//如不加logo,下面logo code 注释掉,输出$url.qrcode.png即可。
$logo =$url.'logo.png'; //logo
$QR = $url.'qrcode.png'; //已经生成的二维码

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;
$scale = $logo_width/$logo_qr_width;
$logo_qr_height = $logo_height/$scale;
$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);
}

//新图片
$img = $url.'helloweba.png';
//输出图片
imagepng($QR, $img);
echo "<img src=$img />";

?>

二、加入文字的代码示例:

//首先我们应该注意的一点是要使用到ttf字体,ttf字体是一样的,可以直接在windows复制到linux使用(c:window/font)
include 'phpqrcode.php';
$url = 'http://www.caizhichao.cn'; //二维码内容
$errorCorrectionLevel = 'H'; //容错级别
$matrixPointSize = 5; //生成图片大小
ob_start();
$QRcode::png($url, false, $errorCorrectionLevel, $matrixPointSize, 1);
$ob_contents = ob_get_contents(); //读取缓存区数据
ob_end_clean();
$myImage = ImageCreate(245,245); //参数为宽度和高度
$qr = imagecreatefromstring($ob_contents);
$qr_size = imagesx($qr);
$img_x_y = (245-$qr_size)/2; //245为宽度
$white = ImageColorAllocate($myImage, 255, 255, 255);
$green=ImageColorAllocate($myImage, 44, 195, 179);
$font_path = ROOT_PATH.'/public/static/fonts/msyhbd.ttf'; //引入字体
imagettftext($myImage, 10, 0, 38, 20, $green, $font_path, '这里是写要显示在二维码中的文字');
imagecopyresampled($myImage, $qr, $img_x_y, $img_x_y, 0, 0, $qr_size, $qr_size, $qr_size, $qr_size); //重新组合图片并调整大小
Header("Content-type: image/png");
imagepng($myImage , 'qr_txt.png'); //带文字二维码的文件名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值