本篇文章给大家介绍一下PHP生成与识别二维码的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
二维码的分类
线性堆叠式二维码
矩阵式二维码
二维码的优缺点
优点
信息容量大
编码范围广
容错能力强
译码可靠性高
可引入加密措施
成本低,易制作
缺点
二维码技术成为手机病毒、钓鱼网站传播的新渠道
信息泄密
目前流行的三大国际标准
PDF417:不支持中文
DM:专利未公开,需支付专利费用
QR CODE:专利公开,支持中文
QR CODE 纠错能力
L级:约可纠错7%的数据码字
M级:约可纠错15%的数据码字
Q级:约可纠错25%的数据码字
H级:约可纠错30%的数据码字
前提条件
GD库
一、PHP生成QR CODE
官网:http://phpqrcode.sourceforge.net/
下载源码:https://github.com/endroid/qr-code
1、qrcode_create.php
ps:生成普通二维码
<?php include_once "./qrcode/phpqrcode.php"; /** * 参数:p1:二维码包含的内容 p2:输出的文件名 p3:容错级别 p4:大小 p5:外边距margin p6:保存路径 * 在浏览器上直接生成一个二维码(内容为abc) */ QRcode::png("abc"); QRcode::png("ABC",false,QR_ECLEVEL_L,10,5,false); /** * 生成文件到本地 * 参数:p1:二维码包含的内容 p2:输出的文件名 p3:容错级别 p4:大小 p5:外边距margin p6:是否保存并打印(false 直接生成 true 生成且打印) * PS:$saveandprint源码的p6参数做了修改 */ QRcode::png("ABC","ABC.jpg",QR_ECLEVEL_H,10,2,false);
2、qrcode_logo.php
ps:生成带Logo的二维码
<?php /** * Created by PhpStorm. * User: user * Date: 2018/8/16 * Time: 10:43 */ include "./qrcode/phpqrcode.php"; $txt = "测试内容"; $picPathAndName = "./pic/ABC.jpg";//二维码保存路径和名称 $level = 'L'; $size = 5; $is_logo = 1;//是否包含Logo 0否 1是 $margin = 2;//边距 $saveAndPrint = true;//是否保存,保存时,$picPathAndName设置为true //生成二维码图片QRcode::png($txt, $picPathAndName, $level, $size, $margin,$saveAndPrint); if($is_logo == 1){ $QR = $picPathAndName; //已经生成的原始二维码图 $Logo = './pic/logo.png'; $Logo_re = './pic/test_logo.png'; $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); //输出图片 imagepng($QR, $Logo_re); }
3、qrcode_vcard.php (生成电子签名)
vCard格式:https://zh.wikipedia.org/wiki/VCard
<?php /** * Created by PhpStorm. * User: user * Date: 2018/8/15 * Time: 23:00 */ require_once "./qrcode/phpqrcode.php"; /** * 生成电子签名 * PS;使用微信扫描二维码 */ $content = 'BEGIN:VCARD' . "\n";//起始标志 $content .= 'VERSION:2.1' . "\n";//当前版本 $content .= 'N:周' . "\n";//姓 $content .= 'FN:勇' . "\n";//名 $content .= 'ORG:江苏东大集成电路系统有限公司' . "\n";//公司名称 $content .= 'TITLE:PHP研发程序员' . "\n";//职位 $content .= 'TEL;WORK;VOICE:0523-83623173' . "\n";//工作电话 $content .= 'ADR;WORK:;;高新区星火路#2;南京市;江苏省;225762;中国' . "\n";//工作地址 $content .= 'ADR;HOME:;;下圩镇王横村178号;兴化市;江苏省;225762;中国' . "\n";//家庭地址(街道,地级市,省,邮编,国家) $content .= 'TEL;TYPE:18000001111' . "\n";//移动电话 $content .= 'EMAIL:123456@qq.com' . "\n";//邮箱 $content .= 'URL:www.baidu.com' . "\n";//个人主页 $content .= 'END:VCARD' . "\n";//结束标志 QRcode::png($content);
二、JQUERY生成QR CODE
源码地址:https://github.com/jeromeetienne/jquery-qrcode
jquery_create.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Jquery生成二维码</title> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="./jquery-qrcode/jquery.qrcode.min.js"></script> </head> <body> <div id="qrcode"></div> <script> //$('#qrcode').qrcode("this plugin is great"); $('#qrcode').qrcode({width: 64,height: 64,text: "jason"}); </script> </body> </html>
三、PHP识别二维码
1、方法一
环境需求,安装如下扩展
- ImageMagick
- zbar
- php-zbarcode
2、方法二
PHP识别二维码(无需安装扩展),初步测试普通二维码可以,带Logo的二维码,容错级别需要设置高一点页可以
qrReader类:https://github.com/baagee/php_QrReader
<?php include_once('./qrReader/lib/QrReader.php'); $qrcode = new QrReader('./test_logo.png'); //图片路径 $text = $qrcode->text(); //返回识别后的文本 echo $text;
推荐学习:php视频教程
Atas ialah kandungan terperinci PHP如何生成与识别二维码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

Dreamweaver CS6
Alat pembangunan web visual