首先需要引入phpqrcode文件。文件下载:phpqrcode.rar
1
2
3
4
5
6
7
8
9
|
<
img
alt
=
"二维码"
src
=
"http://www.xcsoft.cn/public/qrcode?text=填写需要生成的数据&size=4&level=L&padding=2&logo="
>
|
官方默认程序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
//引入phpqrcode文件
include
"phpqrcode/phpqrcode.php"
;
//要生成二维码的数据
$text
=
"http://www.xcsoft.cn"
;
//纠错级别, 纠错级别越高,生成图片会越大
//L水平 7%的字码可被修正
//M水平 15%的字码可被修正
//Q水平 25%的字码可被修正
//H水平 30%的字码可被修正
$level
=
"L"
;
//图片每个黑点的像素。
$size
=
"4"
;
//生成图片 第二个参数:是否保存成文件 如需要保存文件,第二个参数改为文件名即可,如:'qrcode.png'
QRcode::png(
$text
, false,
$level
,
$size
);
?>
|
需要兼容到ThinkPHP里,则需要把下载到的文件复制到Vendor夹里。
ThinkPHP代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
//引用地址http://www.xcsoft.cn/public/qrcode
//text:需要生成二维码的数据,默认:http://www.xcsoft.cn
//size:图片每个黑点的像素,默认4
//level:纠错等级,默认L
//padding:图片外围空白大小,默认2
//logo:全地址,默认为空
//完整引用地址:http://www.xcsoft.cn/public/qrcode?text=http://www.xcsoft.cn&size=4&level=L&padding=2&logo=http://www.xcsoft.cn/Public//images/success.png
public
function
qrcode(
$text
=
'http://www.xcsoft.cn'
,
$size
=
'4'
,
$level
=
'L'
,
$padding
=2,
$logo
=true){
$text
=
$this
->_get(
'text'
)?
$this
->_get(
'text'
):
$text
;
$size
=
$this
->_get(
'size'
)?
$this
->_get(
'size'
):
$size
;
$level
=
$this
->_get(
'level'
)?
$this
->_get(
'level'
):
$level
;
$logo
=
$this
->_get(
'logo'
)?
$this
->_get(
'logo'
):
$logo
;
$padding
=
$this
->_get(
'padding'
)?
$this
->_get(
'padding'
):
$padding
;
$path
=
'./Uploads/qrcode/'
;
$QR
=
$path
.
'qrcode.png'
;
vendor(
"phpqrcode.phpqrcode"
);
QRcode::png(
$text
,
$QR
,
$level
,
$size
,
$padding
);
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_height
= imagesy(
$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
);
}
header(
"Content-Type:image/jpg"
);
imagepng(
$QR
);
}
|
写好后,图片地址直接引用即可,引用详参见下方(本站已实现)。
引用说明
引用地址:http://www.xcsoft.cn/public/qrcode
text:需要生成二维码的数据,默认:http:www.xcsoft.cn
size:图片每个黑点的像素,默认4
level:纠错等级,默认L
padding:默认2 图片外围空白大小
logo:完整地址,默认为空