Maison >développement back-end >tutoriel php >Comment PHP réalise-t-il la génération et l'identification des codes QR (code)
Le contenu de cet article explique comment générer et identifier des codes QR (codes) en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Manuel recommandé : Manuel d'auto-apprentissage complet en php
Code QR empilé linéaire
Code QR matriciel
Grande capacité d'information
Large plage de codage
Forte tolérance aux pannes
Haute fiabilité de décodage
Des mesures de cryptage peuvent être introduites
Faible coût et facile à produire
La technologie des codes QR est devenue un nouveau canal de propagation de virus mobiles et de sites Web de phishing
Fuite d'informations
PDF417 : ne prend pas en charge le chinois
DM : brevet non divulgué, besoin de payer les frais de brevet
QR CODE : divulgation des brevets, prise en charge du chinois
Niveau L : environ 7 % des mots de passe de données peuvent être corrigés
Niveau M : environ 15 % des mots de passe de données peuvent être corrigés en erreur
Niveau Q : environ 25 % des mots de passe de données peuvent être corrigés
Niveau H : environ 30 % des mots de passe de données peuvent être corrigés en erreur
Bibliothèque GD
Officiel site Web : http://phpqrcode.sourceforge.net/
Télécharger le code source : https://github.com/endroid/qr-code
1 qrcode_create.php
ps : Générer un code QR ordinaire
<?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 : Générer un code QR avec 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 (générer une signature électronique)
Format 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);
Recommandation d'articles connexes :
1.Exemple de PHP générant un code QR WeChat
2.Conversion d'URL PHP pour générer un code QR
Recommandations vidéo associées :
1.Tutoriel vidéo Dugu Jiujian (4)_PHP
Adresse du code source : https://github.com/jeromeetienne/jquery-qrcode
jquery_create.php
<!DOCTYPE html><html lang="en"><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> <p id="qrcode"></p><script> //$('#qrcode').qrcode("this plugin is great"); $('#qrcode').qrcode({width: 64,height: 64,text: "jason"});</script></body></html>
1. Méthode 1
Exigences en matière d'environnement, installez les extensions suivantes
- ImageMagick
- zbar
- php-zbarcode
2. Méthode 2
PHP reconnaît les codes QR (pas besoin d'installer d'extensions). Pour les tests préliminaires, les codes QR ordinaires avec des logos sont acceptables, le niveau de tolérance aux pannes doit être. définir plus haut
Classe qrReader : https://github.com/baagee/php_QrReader
<?phpinclude_once('./qrReader/lib/QrReader.php'); $qrcode = new QrReader('./test_logo.png'); //图片路径 $text = $qrcode->text(); //返回识别后的文本 echo $text;
Lien : https://pan.baidu.com/s/1icpWRjIQiXdCXeOc52pNSg Mot de passe : c5y7
Recommandations associées :
php utilise open et fwrite pour exporter des fichiers dans plusieurs formats (code)
code d'implémentation php pour exporter des fichiers Excel au format csv format
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!