Heim Backend-Entwicklung PHP-Tutorial (Fortgeschritten) Zusammenfassung, wie man QR-Code mit Logo in PHP generiert

(Fortgeschritten) Zusammenfassung, wie man QR-Code mit Logo in PHP generiert

Feb 07, 2017 am 09:27 AM

1. Verwendete Klassenbibliotheken

1. phpqrcode (PHP-Bibliothek)

2. Verwendung von phpqrcodeVerwenden Sie ausschließlich die PHP-Klassenbibliothek, d. h. die Generierung von QR-Codes erfolgt im Hintergrund. Da Sie einen QR-Code mit einem Logo im Hintergrund generieren möchten, müssen Sie zuerst das Logobild auf den Server hochladen (ich habe zum Hochladen den Webuploader verwendet)

So verwenden Sie phpqrcode:

Zuerst Laden Sie phpqrcode herunter: http://phpqrcode.sourceforge.net/

Denken Sie dann daran, die Datei phpqrcode.php einzuführen, bevor Sie sie verwenden

3. Verwendung von qrcode.js

$value = $url;//二维码内容 
$errorCorrectionLevel = 'L';//设置容错级别 
$matrixPointSize = $size;//生成图片大小 
QRcode::png($value, 'public_files'.DIRECTORY_SEPARATOR .'code'.DIRECTORY_SEPARATOR .'qrcode.png', 
$errorCorrectionLevel, $matrixPointSize, 2);//生成二维码图片 无logo
$logo = $tar_path;//上传至服务器的logo图片 
$QR = 'public_files'.DIRECTORY_SEPARATOR .'code'.DIRECTORY_SEPARATOR .'qrcode.png';//已经生成的原始二维码图  
if ($logo !== FALSE) {  
$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);}$name = time();
imagepng($QR, 'public_files'.DIRECTORY_SEPARATOR .'code'.DIRECTORY_SEPARATOR .$name.'.png');//输出带logo的二维码图片
Nach dem Login kopieren
Verwenden Sie qrcode .js, um QR-Codes direkt im Frontend zu generieren. Sie müssen zuerst jquery.qrcode.js herunterladen

Die Verwendung von qrcode ist ebenfalls sehr einfach:

Führen Sie jquery.qrcode.js ein und schreiben Sie ihn dann selbst. Nach der Ausführung kann der QR-Code angezeigt und verarbeitet werden.

var length = size*80;//设置二维码大小
length = parseInt(length);
$("#code_img").qrcode({ //code_img是一个img标签的id  
render : "canvas",  //设置渲染方式,有table和canvas,使用canvas方式渲染性能相对来说比较好  
text : url,  //扫描二维码后显示的内容,可以直接填一个网址,扫描二维码后自动跳向该链接  
width : length,       //二维码的宽度  
height : length,  
background : "#ffffff",    //二维码的后景色  
foreground : "#000000",    //二维码的前景色  
src: $('#image').attr('src')       //二维码中间的图片});
Nach dem Login kopieren
Es handelt sich hauptsächlich um das Logo-Referenzformat in der Mitte des QR-Codes Es gibt zwei Formate zum Aufnehmen lokaler Bilder: eines ist die lokale URL und das andere dient dazu, das Bild in das Base64-Format zu konvertieren

Zuerst habe ich das lokale URL-Format ausprobiert, um auf das Bild zu verweisen, und festgestellt, dass dies möglich ist Verweisen Sie nur auf das Bild im selben Verzeichnis wie die js-Datei, daher wurde das lokale URL-Format nicht unterstützt, also habe ich den letzteren Weg gewählt.

Verwenden Sie

, um das ausgewählte lokale Bild hochzuladen, und verwenden Sie dann das Base64-Format

<input accept="image/*" type="file" id="file_input">
Nach dem Login kopieren


, um die Datei als Datenzeichenfolge zu lesen URL-Strings: Lesen Sie die kleine Datei direkt in die Seite mit einer URL-Adresse in einem speziellen Format ein. Dieses spezielle Format ist base64

var input = document.getElementById("file_input");  
if(typeof FileReader===&#39;undefined&#39;){  
input.setAttribute(&#39;disabled&#39;,&#39;disabled&#39;);}else{  
input.addEventListener(&#39;change&#39;,readFile,false);}  
function readFile(){  var file = this.files[0];  
if(!/image\/\w+/.test(file.type)){    
alert("文件必须为图片!");    
return false;  }  
var reader = new FileReader();  
reader.readAsDataURL(file);  
reader.onload = function(e){    
$(&#39;#image&#39;).attr(&#39;src&#39;,this.result);//image为img标签的id  
}}
Nach dem Login kopieren
3. Vergleich zwischen zwei Klassenbibliotheken

Zwei Klassenbibliotheken, eine arbeitet im Hintergrund und die andere direkt im Frontend.

phpqrcode generiert QR-Codes und arbeitet im Hintergrund, und die generierten Bilder werden auf dem Server gespeichert. Im Allgemeinen wird der generierte QR-Code direkt lokal gespeichert und dann direkt verwendet. Es kommt selten vor, dass er ein zweites Mal zum Server aufgerufen wird. Daher führt die Verwendung von phpqrcode dazu, dass sich die Bilder auf dem Server ansammeln und unnötigen Speicherplatz belegen , und ihre Löschung verursacht auch zusätzliche Kosten. Daher ist die Verwendung von phpqrcode für dieses QR-Code-Generierungstool nicht geeignet. Darüber hinaus verursacht das Hochladen von Bildern zusätzlichen Aufwand

qrcode.js arbeitet direkt im Frontend. Die hochgeladenen Bilder werden direkt im Browser gespeichert und der QR-Code wird direkt im Frontend generiert, ohne dass ein Eingriff im Hintergrund erforderlich ist Dadurch werden unnötige Kosten reduziert, wodurch sich keine Bilder auf dem Server ansammeln und unnötiger Speicherplatz belegt wird.

Das Obige ist die Zusammenfassung der (fortgeschrittenen) PHP-Methode zum Generieren von QR-Codes mit Logos. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

See all articles