1. 程式人生 > >PHP QR Code生成二維碼

PHP QR Code生成二維碼

最近做系統分析與設計課程的project,需要在後臺控制生成一個二維碼,於是便去搜尋了一下,有蠻多現成的庫可以使用,據說google API提供了介面,但是由於在大天朝,google我怕用起來不太穩定,於是便換用另一個神器——phpqrcode,這個庫使用php原聲開發的,不需要額外的擴充套件。

然後解壓縮,把整個資料夾放到xampp的目錄下。

接著,新建一個tp.php,寫上如下程式碼:

<?php    
    echo "<h1>PHP QR Code by Dirk</h1><hr/>";
    
    include 'phpqrcode.php';    
    $value = 'http://blog.csdn.net/luoshengkim?viewmode=contents'; //二維碼內容   
    $errorCorrectionLevel = 'L'; //容錯級別   
    $matrixPointSize = 6; //生成圖片大小

    // 生成二維碼圖片   
    QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);
    // 輸出二維碼圖片
    echo '<img src="qrcode.png">';  

    

然後在瀏覽器開啟:http://localhost/phpqrcode/tp.php

就可以看到用PHP程式碼生成的二維碼了,在這裡,我是利用URL生成的,所以掃一掃二維碼會跳轉到相應的連結地址上


有的同學會問,我平時看到的二維碼中間都是有logo 的呀,你這個咋沒有,OK,那接下來我們看看如何生成帶logo的二維碼

話不多說,大家一看我程式碼就自然明白:

<?php    
    echo "<h1>PHP QR Code by Dirk</h1><hr/>";
    
    include 'phpqrcode.php';    
    $value = 'http://blog.csdn.net/luoshengkim?viewmode=contents'; //二維碼內容   
    $errorCorrectionLevel = 'L'; //容錯級別   
    $matrixPointSize = 6; //生成圖片大小

    // 生成二維碼圖片   
    QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);
    echo "QR code generated"."<br/>";  

    //生成中間帶logo的二維碼     
    $logo = 'dirk.jpg'; // 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_height = imagesy($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,'qrWithLogo.png'); 

    echo '<img src="qrWithLogo.png">';  

需要注意的是,logo圖片是你自己選擇一張你喜歡的圖片放進資料夾裡的,而不是系統自動生成的!

然後開啟瀏覽器 http://localhost/phpqrcode/tpWithLogo.php

可以看到生成了中間有logo的二維碼:


如果想探索更多的使用方法,請訪問官網自行探索~