Heim  >  Artikel  >  Backend-Entwicklung  >  Wie realisiert PHP die Generierung und Identifizierung von QR-Codes (Code)

Wie realisiert PHP die Generierung und Identifizierung von QR-Codes (Code)

不言
不言Original
2018-08-18 17:44:3322637Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Generierung und Identifizierung von QR-Codes (Codes) in PHP. Ich hoffe, dass er für Freunde hilfreich ist.

Empfohlenes Handbuch: php vollständiges Handbuch zum Selbststudium

Klassifizierung von QR-Codes

  • Linear gestapelter QR-Code

  • Matrix-QR-Code

Vor- und Nachteile des QR-Codes

Vorteile

  • Große Informationskapazität

  • Großer Codierungsbereich

  • Starke Fehlertoleranz

  • Hohe Dekodierungszuverlässigkeit

  • Verschlüsselungsmaßnahmen können eingeführt werden

  • Geringe Kosten und einfach herzustellen

Nachteile

  • QR-Code-Technologie ist zu einem neuen Kanal für die Verbreitung mobiler Viren und Phishing-Websites geworden

  • Informationsverlust

Drei wichtige internationale Standards, die derzeit beliebt sind

  • PDF417: Chinesisch wird nicht unterstützt

  • DM: Patent nicht bekannt gegeben, Sie müssen Patentgebühren zahlen

  • QR CODE: Patentoffenlegung, Unterstützung für Chinesisch

QR CODE-Fehlerkorrekturfähigkeit

  • L-Level: ca. 7 % der Datencodewörter können korrigiert werden

  • M-Level: ca. 15 % der Datencodewörter können fehlerkorrigiert werden

  • Q-Stufe: ca. 25 % der Datencodewörter können korrigiert werden

  • H-Stufe: ca. 30 % der Datencodewörter können fehlerkorrigiert werden

Voraussetzungen

  • GD-Bibliothek

1. PHP generiert QR-CODE

  • Offiziell Website: http://phpqrcode.sourceforge.net/

  • Quellcode herunterladen: https://github.com/endroid/qr-code

Verzeichnisstruktur

Wie realisiert PHP die Generierung und Identifizierung von QR-Codes (Code)

1. qrcode_create.php
ps: Generieren Sie einen gewöhnlichen QR-Code

<?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: QR-Code mit Logo generieren

<?php
/**
 * Created by PhpStorm.
 * User: user
 * Date: 2018/8/16
 * Time: 10:43
 */include "./qrcode/phpqrcode.php";$txt = "测试内容";
 $picPathAndName = "./pic/ABC.jpg";//二维码保存路径和名称
 $level = &#39;L&#39;;$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 = &#39;./pic/logo.png&#39;;    
    $Logo_re = &#39;./pic/test_logo.png&#39;;    
    $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 (Elektronische Signatur generieren)

  • vCard-Format: 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 = &#39;BEGIN:VCARD&#39; . "\n";//起始标志
 $content .= &#39;VERSION:2.1&#39; . "\n";//当前版本
 $content .= &#39;N:周&#39; . "\n";//姓$content .= &#39;FN:勇&#39; . "\n";//名
 $content .= &#39;ORG:江苏东大集成电路系统有限公司&#39; . "\n";//公司名称
 $content .= &#39;TITLE:PHP研发程序员&#39; . "\n";//职位
 $content .= &#39;TEL;WORK;VOICE:0523-83623173&#39; . "\n";//工作电话
 $content .= &#39;ADR;WORK:;;高新区星火路#2;南京市;江苏省;225762;中国&#39; . "\n";//工作地址
 $content .= &#39;ADR;HOME:;;下圩镇王横村178号;兴化市;江苏省;225762;中国&#39; . "\n";//家庭地址(街道,地级市,省,邮编,国家)
 $content .= &#39;TEL;TYPE:18000001111&#39; . "\n";//移动电话
 $content .= &#39;EMAIL:123456@qq.com&#39; . "\n";//邮箱
 $content .= &#39;URL:www.baidu.com&#39; . "\n";//个人主页
 $content .= &#39;END:VCARD&#39; . "\n";//结束标志
 QRcode::png($content);
Empfohlene verwandte Artikel:
1.Beispiel für die PHP-Generierung von WeChat-QR-Code
2.PHP-URL-Konvertierung zur Generierung von QR-Code
Ähnliche Videoempfehlungen:
1.Dugu Jiujian (4)_PHP-Video-Tutorial

2 >Quellcode-Adresse: 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>
    //$(&#39;#qrcode&#39;).qrcode("this plugin is great");
    $(&#39;#qrcode&#39;).qrcode({width: 64,height: 64,text: "jason"});</script></body></html>

3. PHP-Identifikation QR-Code

1. Methode 1

Umgebungsanforderungen, installieren Sie die folgenden Erweiterungen

- ImageMagick - zbar - php-zbarcode


2. Methode 2

PHP erkennt QR-Codes (keine Installation von Erweiterungen erforderlich). Für QR-Codes mit Logo muss die Fehlertoleranzstufe festgelegt werden höher.

qrReader-Klasse: https://github.com/baagee/php_QrReader

<?phpinclude_once(&#39;./qrReader/lib/QrReader.php&#39;);
$qrcode = new QrReader(&#39;./test_logo.png&#39;);  //图片路径
$text = $qrcode->text(); //返回识别后的文本
echo $text;
Link: https://pan.baidu.com/s/1icpWRjIQiXdCXeOc52pNSg Passwort: c5y7

Verwandte Empfehlungen:

PHP verwendet open, fwrite, um Dateien in mehreren Formaten zu exportieren (Code)

PHP-Implementierungscode zum Exportieren von Excel-Dateien im CSV-Format

Das obige ist der detaillierte Inhalt vonWie realisiert PHP die Generierung und Identifizierung von QR-Codes (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn