1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP通过PHP QR Code生成二维码

作者:用户 来源:互联网 时间:2017-12-01 20:40:13

计算机二维码条形码比特流

PHP通过PHP QR Code生成二维码 - 摘要: 本文讲的是PHP通过PHP QR Code生成二维码, 1、二维码 二维码 ,又称二维条形码,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形

1、二维码

二维码 ,又称二维条形码,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。

2、PHP QR Code下载地址以及案例地址

下载:http://sourceforge.net/projects/phpqrcode/files/

案例:http://phpqrcode.sourceforge.net/examples/

3、PHP QR Code实现简单案例以及参数说明

<?php include 'phpqrcode.php'; $value="http://www.ceshi.com";$errorCorrectionLevel = "L";$matrixPointSize = "4";QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize);?>

案例说明: 

QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, $margin);

[1]PHP QR Code支持png、jpg、svg、text等格式,使用方式为QRcode::svg等格式开头。

[2]$data:表示要记录的数据,如果是存储utf-8编码的中文,最多984个。

[3]$filename:保存的图片名称

[4]$errorCorrectionLevel:纠错级别(L、M、Q、H),二维码具有容错功能,当二维码图片被遮挡一部分后,仍可以扫描出来。容错率越高,则二维码图片能被遮挡的部分越多。

[5]$matrixPointSize:每个黑点的像素

[6]$margin:图片外围的白色边框像素

5、二维码常用数据格式

我们只需要修改$data数据即可实现想要效果。

网址 (URL)

包含网址的二维码生成是大家平时最常接触到的(例如:http://www.ceshi.com),二维码识别软件能够通过 http://前缀 知道数据代表的是一个网址。使用{URLTO:www.ceshi.com} 类似的语法格式也能让识别软件认出网址。

电子邮箱地址(E-mail Address)

互联网上大家联络时基本都会用到电子邮箱。当然,二维码也可以保存电子邮箱的地址(例如[email protected])。它的语法格式是{mailto:[email protected]}。

电话号码 (telephone numbers)

电话号码的二维码生成的数据格式很简单,容易理解:{tel:13161555555}。如果是固话则加上区号,需要和海外联系的朋友则需加上+86的国家代码。

联系方式 (Contact information)

适合以二维码生成方式表示的联系人数据格式有不少个标准。例如:vcard(电子名片)。不过,它的格式对于二维码来说稍嫌复杂了一些。目前,就笔者所知,市面上的安卓手机(苹果、黑莓等)一般都支持由日本的docomo公司制定的MECARD数据格式。

MECARD:N:zhaoxiaobo;ADR:beijing,china;TEL:+8613161555555;EMAIL:[email protected]; URL:http://blog.csdn.net/zhao1234567890123456/;QQ:275620501;

BIZCARD

这种数据格式和MECARD类似,目前还没有找到具体的定义。似乎比MECARD更加简单;只能从例子中受点启发了。

BIZCARD:N:zhaoxiaobo;T:Software Engineer;C:Google;A:beijing, China;B:+8613161555555;E:[email protected];

短信(SMS)

语法格式:{smsto:8613161555555:你好,二维码发短信}

彩信 (MMS)

和发短信的格式类似:{mmsto:8613161555555:内容} 

地理位置 (Geographic information)

和朋友一起分享你现在的位置,无疑是个很有用的功能。例如查看google公司在美国纽约的位置:北纬40.71872,西经73.98905;高度为100米。语法格式:{geo:40.71872,-73.98905,100}

获取安卓软件

在google的安卓市场找软件,二维码也能派上用场。例如:{market://details?id=org.example.foo}

获取Wifi配置(Android)

{WIFI:T:WPA;S:mynetwork;P:mypass}。参数T(认证类型: WEP 或WPA, ‘nopass’ 代表无需认证)、S(无线网络的 SSID)、P(无线网络的密码,如果无需认证则忽略此项)、H(可选。针对隐藏了SSID的网络)。

5、PHP QR Code生成带LOGO二维码

<?phpinclude 'phpqrcode.php'; $value = $_GET['url'];//二维码内容 $errorCorrectionLevel = 'L';//容错级别 $matrixPointSize = 6;//生成图片大小 //生成二维码图片 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = 'ceshi.png';//准备好的logo图片 $QR = '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); } //输出图片 Header("Content-type: image/png");ImagePng($QR);

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索计算机 , 二维码 , 条形码 , 比特流 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备