admin 管理员组

文章数量: 1184232


2024年4月23日发(作者:sortby什么意思)

QRcode是二维码的一种。QRcode可以存储最多4296个字母数字类型的任意文本。这些文本可

以是任何内容,例如,网址、联系信息、电话号码(具体科查看二维码数据格式)。QR code

存储的信息可以被安装有适当软件的光学设备读取。这种设备既可以是专用的QR code读取器

也可以是手机。

通过调用 Google Chart Tools / Image Charts 的 API ,我们可以很方便的生成QRcode。

调用方式也很简单,只要向 /chart 传入适合的参数就可以了,参

数如下:

1. cht=qr

这个是必需的,告诉 API ,你需要生成的是二维码。

2.

3.

chs=<

width

>x<

height

>

这个同样是必需的,告诉 API ,你需要生成的二维码的尺寸。

chl=<

data

>

这个还是必需的,用来告诉 API 二维码所包含的信息。可以是数字、字符数字、字符、二进制

信息、汉字。不能混合数据类型。数据必须经过UTF-8 URL-encoded。如果需要传递的信息超

过2K个字节,请使用POST方式。

4. choe=<

output_encoding

>

终于来了个不是必须的,这个是用来声明生成的二维码所包含信息的编码,默认是 UTF-8 ;其

他可选编码是 Shift_JIS 、 ISO-8859-1

5. chld=<

error_correction_level

>|<

margin

>

可选 纠错等级。QR码支持四个等级的纠错,用来恢复丢失的、读错的、模糊的、数据。下面

是可选的值:L-(默认)可以识别已损失7%的数据;M-可以识别已损失15%的数据;Q-可以识别

已损失25%的数据;H-可以识别已损失30%的数据。margin 是指生成的二维码离图片边框的

距离。

QR码是方形的,有相同的长和宽。QR码的大小是固定的:从21到177的长/宽,每次递增4

个像素点。每个配置被称为一个等级。长和宽越大,存储的信息就越多。下面是版本摘要:

等级为1的QR码长和宽分别为21个像素,最多可以存储25个字母数字和字符。

等级为2的QR码长和宽分别为25个像素,最多可以存储47个字母数字和字符。

…以此类推 。

Chart API会根据你将存储的信息的大小来决定使用哪个等级的QR码。最棒的QR码阅读器可

以读取等级为40的QR码中存储的信息。然而通常来说移动设备最多可以读取等级为4的QR

码中存储的信息。

下面来介绍使用PHP调取Google Chart API 来生成二维码

class

qrcode

{

private

$data;

//creating text qr code

public

function

text($text){

$this->data = $text;

}

//creating code with link mtadata

public

function

link($url){

if (preg_match('/^http:/', $url) || preg_match('/^https:/', $url))

{

$this->data = $url;

}

else

{

$this->data = "//".$url">".$url;

}

}

//creating code with bookmark metadata

public

function

bookmark($title, $url){

$this->data = "MEBKM:TITLE:".$title.";URL:".$url.";;";

}

//creating code with email address metadata

public

function

email_address($email){

$this->data = "

$email

">MAILTO:".

$email

;

}

//creating code with email metadata

public function email(

$email

,

$subject

,

$message

){

$this->data

= "MATMSG:TO:".

$email

.";SUB:".

$subject

.";BODY:".

$message

.";;";

}

//creating code with phone

public function phone_number(

$phone

){

$this->data

= "TEL:".

$phone

;

}

//creating code with sms metadata

public function sms(

$phone

,

$text

){

$this->data

= "SMSTO:".

$phone

.":".

$text

;

}

//creating code with mms metadata

public function mms(

$phone

,

$text

){

$this->data

= "MMSTO:".

$phone

.":".

$text

;

}

//creating code with mecard metadata


本文标签: 二维码 信息 生成 数字