PHP 生成二维码

 

利用PHP QRcode生成二维码;

php QRcode 官网 http://phpqrcode.sourceforge.net/

在官网下载 phpqrcode.php就ok啦;

然后,查看自己的php环境是否开启GD2,若没有,开启支持即可;

利用 phpqrcode.php 的 function png() 方法便可生成最基本的二维码;

<?php

include 'phpqrcode.php';
$value = 'http://www.cnblogs.com/laowenBlog/'; //二维码内容
QRcode::png( $value );

?>

实际应用中,我们要在二维码的中间加上自己的LOGO。代码如下:

<?php

include 'phpqrcode.php';                       // 引入phpqrcode.php
$value = 'http://www.cnblogs.com/laowenBlog/'; // 要生成的二维码的内容
$errorCorrectionLevel = 'H'; // 容错级别
// L 7%的字码可被修正
// M 15%的字码可被修正
// Q 25%的字码可被修正
// H 30%的字码可被修正
$matrixPointSize = 10; // 生成图片大小
$img = "img.png"; // 生成图片的名字
//生成二维码图片
QRcode::png( $value, $img, $errorCorrectionLevel, $matrixPointSize, 3 );
// 参数1 二维码的内容
// 参数2 生成二维码图片的名字
// 参数3 二维码识别的容错级别
// 参数4 生成二维码的图片的大小
// 参数5 二维码周围边框空白区域间距值
$logo = 'logo.png'; // 准备好的logo图片
$QR = $img; // 已经生成的原始二维码图
// 判断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 / 4;
$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);
}
//输出图片
imagepng($QR, 'ok.png');
echo '<img src="ok.png">';
die();

?>

生成如下:

原文地址:https://www.cnblogs.com/laowenBlog/p/5943359.html