Home  >  Article  >  php教程  >  PHP通过PHP QR Code生成二维码

PHP通过PHP QR Code生成二维码

WBOY
WBOYOriginal
2016-06-13 09:24:501167browse

PHP通过PHP QR Code生成二维码

1、二维码

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

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

 

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

 

<!--?php 
include &#39;phpqrcode.php&#39;; 
      
$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)
互联网上大家联络时基本都会用到电子邮箱。当然,二维码也可以保存电子邮箱的地址(例如zhaoxiaobo987@163.com)。它的语法格式是{mailto:zhaoxiaobo987@163.com}。

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

联系方式 (Contact information)
适合以二维码生成方式表示的联系人数据格式有不少个标准。例如:vcard(电子名片)。不过,它的格式对于二维码来说稍嫌复杂了一些。目前,就笔者所知,市面上的安卓手机(苹果、黑莓等)一般都支持由日本的docomo公司制定的MECARD数据格式。
MECARD:N:zhaoxiaobo;ADR:beijing,china;TEL:+8613161555555;EMAIL:zhaoxiaobo987@163.com; 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:zhaoxiaobo987@163.com;

短信(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二维码

 

<!--?php
include &#39;phpqrcode.php&#39;; 
$value = $_GET[&#39;url&#39;];//二维码内容 
$errorCorrectionLevel = &#39;L&#39;;//容错级别 
$matrixPointSize = 6;//生成图片大小 
//生成二维码图片 
QRcode::png($value, &#39;qrcode.png&#39;, $errorCorrectionLevel, $matrixPointSize, 2); 
$logo = &#39;ceshi.png&#39;;//准备好的logo图片 
$QR = &#39;qrcode.png&#39;;//已经生成的原始二维码图 
 
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);</pre-->

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn