Maison >développement back-end >Problème PHP >Comment générer et identifier des codes QR avec PHP
Cet article vous présentera comment générer et identifier des codes QR en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Code QR empilé linéaire
Code QR matriciel
Grande capacité d'information
Large plage de codage
Forte tolérance aux pannes
Fiabilité de décodage élevée
Les mesures de cryptage peuvent être introduit
Faible coût et facile à produire
La technologie du code QR est devenue un nouveau canal de propagation des virus de téléphonie mobile et des sites Web de phishing
Fuite d'informations
PDF417 : Ne prend pas en charge le chinois
DM : Le brevet n'est pas divulgué, les frais de brevet doivent être payés
QR CODE : Divulgation des brevets, prise en charge du chinois
Niveau L : environ 7 % des mots de code de données peuvent être corrigé
Niveau M : environ 15 % des mots de passe de données peuvent être corrigés
Niveau Q : environ 25 % des mots de passe de données peuvent être corrigés en erreur
Niveau H : environ 30 % des mots de code de données peuvent être corrigés
Bibliothèque GD
Site officiel : 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);2. JQUERY génère le QR CODEAdresse du code source : 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>3. Reconnaissance PHP du code QR
1. Méthode 1
Exigences en matière d'environnement, installez les extensions suivantes - ImageMagick - zbar- php-zbarcode2. Méthode 2
PHP identifie le code QR (pas besoin de installer l'extension), des tests préliminaires peuvent être effectués avec des codes QR ordinaires, des codes QR avec logo, le niveau de tolérance aux pannes doit être défini plus haut, la page peut être classe 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;Apprentissage recommandé :
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!