Heim  >  Artikel  >  Backend-Entwicklung  >  So generieren und identifizieren Sie QR-Codes mit PHP

So generieren und identifizieren Sie QR-Codes mit PHP

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-05-27 17:54:414145Durchsuche

In diesem Artikel erfahren Sie, wie Sie QR-Codes in PHP generieren und identifizieren. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

So generieren und identifizieren Sie QR-Codes mit PHP

Klassifizierung von QR-Codes

  • Linear gestapelte QR-Codes

  • Matrix-QR-Codes

Vor- und Nachteile von QR-Codes

Vorteile

  • Große Informationskapazität

  • Breite Kodierung Reichweite

  • Starke Fehlertoleranz

  • Hohe Decodierungszuverlässigkeit

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

  • Geringe Kosten und einfach herzustellen

Nachteile

  • 2D-Codierungstechnologie ist neu geworden Kanal für die Verbreitung von Mobiltelefonviren und Phishing-Websites

  • Informationsverlust

Drei wichtige internationale Standards, die derzeit beliebt sind

  • PDF417: Unterstützt kein Chinesisch

  • DM: Das Patent wird nicht offengelegt und erfordert eine Zahlung Patentgebühr

  • 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 % korrigierbar der Datencodewörter sind falsch

  • Q-Level: etwa 25 % der Datencodewörter können korrigiert werden

  • H-Level: etwa 30 % der Datencodewörter können korrigiert werden

Voraussetzungen

  • GD-Bibliothek

1. PHP generiert QR-CODE

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

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

So generieren und identifizieren Sie QR-Codes mit PHP

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: Generieren Sie einen QR-Code mit Logo

<?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);

2. JQUERY generiert QR-CODE

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

3. Methode 1

Umgebungsanforderungen, installieren Sie die folgenden Erweiterungen

- ImageMagick

- z bar

- php -zbarcode

PHP identifiziert QR-Code (für vorläufige Tests ist ein normaler QR-Code mit Logo geeignet, die Fehlertoleranzstufe muss festgelegt werden). höher. Die Seite kann

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

<?php
include_once(&#39;./qrReader/lib/QrReader.php&#39;);
$qrcode = new QrReader(&#39;./test_logo.png&#39;);  //图片路径
$text = $qrcode->text(); //返回识别后的文本
echo $text;
Empfohlenes Lernen:

php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo generieren und identifizieren Sie QR-Codes mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen