PHP生成二維碼(使用PHP QR Code二維碼生成類庫(kù))
May 25, 2016 pm 04:43 PMPHP生成二維碼例子我們使用到了PHP QR Code類庫(kù)來(lái)生成了,有了它我們生成二維碼就像echo a這么簡(jiǎn)單聽,下面來(lái)給各位介紹一下吧,希望對(duì)各位會(huì)帶來(lái)幫助哦。
以前使用Google提供了較為完善的二維碼生成接口,調(diào)用API接口很簡(jiǎn)單,但是現(xiàn)在由于訪問google出現(xiàn)問題,需要使用其他的方法生成二維碼。
PHP QR Code是一個(gè)PHP二維碼生成類庫(kù),利用它可以輕松生成二維碼,官網(wǎng)提供了下載和多個(gè)演示demo,
官網(wǎng)地址:http://phpqrcode.sourceforge.net
下載官網(wǎng)提供的類庫(kù)后,只需要使用phpqrcode.php就可以生成二維碼了,當(dāng)然您的PHP環(huán)境必須開啟支持GD2。
qrlib.php 是完整版,官方的調(diào)用實(shí)例:
QRcode::png('code data text', 'filename.png'); // creates file QRcode::png('some othertext 1234'); // creates code image and outputs it directly into browser phpqrcode.php 是合并版,只有一個(gè)文件,但生成速度較慢且不太準(zhǔn)確。使用方法: phpqrcode.php提供了一個(gè)關(guān)鍵的png()方法。 public static function png($text, $outfile=false, $level=QR_ECLEVEL_L, $size=3, $margin=4, $saveandprint=false) { $enc = QRencode::factory($level, $size, $margin); return $enc->encodePNG($text, $outfile, $saveandprint=false); }
參數(shù)$text表示生成二位的的信息文本;參數(shù)$outfile表示是否輸出二維碼圖片文件,默認(rèn)否;參數(shù)$level表示容錯(cuò)率,也就是有被覆蓋的區(qū)域還能識(shí)別,分別是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%); 參數(shù)$size表示生成圖片大小,默認(rèn)是3;參數(shù)$margin表示二維碼周圍邊框空白區(qū)域間距值,默認(rèn)是4;參數(shù)$saveandprint表示是否保存二維碼并顯示,默認(rèn)是不保存顯示。
include 'phpqrcode.php';
QRcode::png('http://mingzi.phprm.com'); 上面這段代碼就輸出了這張二維圖
那么實(shí)際應(yīng)用中,我們會(huì)在二維碼的中間加上自己的LOGO,已增強(qiáng)宣傳效果。先使用PHP QR Code生成一張二維碼圖片,然后再利用php的image相關(guān)函數(shù),將事先準(zhǔn)備好的logo圖片加入到剛生成的原始二維碼圖片中間,然后重新生成一張新的二維碼圖片。當(dāng)然這個(gè)時(shí)候選擇容錯(cuò)率H比較好。
<?php include 'phpqrcode.php'; $value = 'http://www.phprm.com'; //二維碼內(nèi)容 $qr_eclevel = 'H';//容錯(cuò)級(jí)別 $picsize = 6;//生成圖片大小 QRcode::png($value, 'qrcode.png', $qr_eclevel, $picsize);//生成二維碼圖片 $logo = 'logo.png';//準(zhǔn)備好的logo圖片 $QR = 'qrcode.png';//已經(jīng)生成的原始二維碼圖 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; //重新組合圖片并調(diào)整大小 imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height); } //輸出圖片 imagepng($QR, 'myxzy.png'); echo '<img src="/static/imghw/default1.png" data-src="myxzy.png" class="lazy" alt="PHP生成二維碼(使用PHP QR Code二維碼生成類庫(kù)) " >'; ?>
好了這樣就生成了我們要的二維碼圖片了,今天由于時(shí)間有限就不介紹了,下次介紹一個(gè)利用它生成網(wǎng)址 wap版的地址哦。
文章鏈接:
隨便收藏,請(qǐng)保留本文地址!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)
