本文目錄一覽:
- 1、php利用php qr code生成二維碼怎麼輸出
- 2、php生成二維碼的幾種方式整理及使用實例
- 3、為什麼用phpqrcode 生成的帶logo的二維碼不能掃不能跳轉
- 4、php 生成二維碼以後,修改保存圖片地址
- 5、php base64qrcode怎麼顯示
php利用php qr code生成二維碼怎麼輸出
下載官網提供的類庫後,只需要使用phpqrcode.php就可以生成二維碼了,當然您的PHP環境必須開啟支持GD2。
phpqrcode.php提供了一個關鍵的png()方法,其中參數$text表示生成二位的的信息文本;參數$outfile表示是否輸出二維碼圖片 文件,默認否;參數$level表示容錯率,也就是有被覆蓋的區域還能識別,分別是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);
參數$size表示生成圖片大小,默認是3;參數$margin表示二維碼周圍邊框空白區域間距值;參數$saveandprint表示是否保存二維碼並 顯示。轉載,僅供參考。
. 代碼如下:
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);
}
php生成二維碼的幾種方式整理及使用實例
本文整理了一些php生成二維碼的方式:1.google開放api;2.php類庫PHP QR Code;3.libqrencode;4.QRcode Perl CGI PHP scripts感興趣的朋友可以參考下哈
1.google開放api
$urlToEncode=””;
generateQRfromGoogle($urlToEncode);
function generateQRfromGoogle($chl,$widhtHeight =’150′,$EC_level=’L’,$margin=’0′)
{
$url = urlencode($url);
echo ‘img src=”‘.$widhtHeight.’x’.$widhtHeight.’cht=qrchld=’.$EC_level.’|’.$margin.’chl=’.$chl.'” alt=”QR code” widhtHeight=”‘.$size.'” widhtHeight=”‘.$size.'”/’;
}
2.php類庫PHP QR Code
PHP QR Code is open source (LGPL) library for generating QR Code,
2-dimensional barcode. Based on libqrencode C library,
provides API for creating QR Code barcode images (PNG, JPEG thanks to GD2).
Implemented purely in PHP, with no external dependencies (except GD2 if needed).
?
include “./phpqrcode/phpqrcode.php”;
$value=””;
$errorCorrectionLevel = “L”;
$matrixPointSize = “4”;
QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize);
exit;
?
為什麼用phpqrcode 生成的帶logo的二維碼不能掃不能跳轉
Thinkphp中沒有二維碼相關的庫,因此我們可以通過整合phpqrcode來完成生成二維碼的功能。
下載phpqrcode
下載地址:
整合到Thinkphp框架
在“ThinkPHP\Library\Vendor\”下新建目錄phpqrcode,將壓縮包內容解壓到該文件夾下。
調用phpqrcode生成二維碼
在IndexController控制器下添加如下方法:
public function qrcode($url=””,$level=3,$size=4) { Vendor(‘phpqrcode.phpqrcode’); $errorCorrectionLevel =intval($level) ;//容錯級別 $matrixPointSize = intval($size);//生成圖片大小 //生成二維碼圖片 $object = new \QRcode(); $object-png($url, false, $errorCorrectionLevel, $matrixPointSize, 2); }
訪問:即可看到生成的二維碼。
生成帶logo的二維碼
先調用phpqrcode生成一張二維碼,再使用php的image相關函數將logo圖片添加到生成的二維碼圖片上。
include ‘phpqrcode.php’; $value = ”; //二維碼內容 $errorCorrectionLevel = ‘L’;//容錯級別 $matrixPointSize = 6;//生成圖片大小 //生成二維碼圖片 QRcode::png($value, ‘qrcode.png’, $errorCorrectionLevel, $matrixPointSize, 2); $logo = ‘logo.png’;//準備好的logo圖片 $QR = ‘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); } //輸出圖片 imagepng($QR, ‘helloweixin.png’); echo ‘img src=”helloweixin.png”‘;
php 生成二維碼以後,修改保存圖片地址
指定調用函數的第二個參數,是文件存儲地址。
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);
}
如: \QRcode::png($str, $file);
php base64qrcode怎麼顯示
qrcode生成圖像後,使用base64編碼存儲,顯示時反轉一下就可以了,使用
base64_decode函數
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/154333.html