thinkphp整合系列之phpqrcode生成二維碼

php生成二維碼其實挺簡單的;固然指的是使用qrcode類庫;php

所以關因而否要寫這篇博客;我是猶豫了再三的;git

不過最後仍是決定寫下吧;若是有童鞋急着用;就能夠直接引了;thinkphp

再個也能夠做爲即將寫的文章微信支付生成的二維碼作個鋪墊;微信

老規矩;以bjyadmin項目示例:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin函數

1:首先將/ThinkPHP/Library/Vendor/下的Phpqrcode文件夾拷貝到本身的項目中;微信支付

2:/Application/Common/Common/function.php增長以下函數url

/**
 * 生成二維碼
 * @param  string  $url  url鏈接
 * @param  integer $size 尺寸 純數字
 */
function qrcode($url,$size=4){
    Vendor('Phpqrcode.phpqrcode');
    // 若是沒有http 則添加
    if (strpos($url, 'http')===false) {
        $url='http://'.$url;
    }
    QRcode::png($url,false,QR_ECLEVEL_L,$size,2,false,0xFFFFFF,0x000000);
}

而後直接調用qrcode($url,$size)函數;第一個參數傳連接;第二個參數傳大小便可;.net

3:到這裏已經能夠生成二維碼了;若是想對二維碼更加個性化定製的話;code

那麼下面就來說解下這堆參數的做用;圖片

png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4,
 $saveandprint=false, $back_color = 0xFFFFFF, $fore_color = 0x000000)

第一個參數$text;就是上面代碼裏的URL網址參數;

第二個參數$outfile默認爲否;不生成文件;只將二維碼圖片返回;不然須要給出存放生成二維碼圖片的路徑;

第三個參數$level默認爲L;這個參數可傳遞的值分別是L(QR_ECLEVEL_L,7%)、M(QR_ECLEVEL_M,15%)、Q(QR_ECLEVEL_Q,25%)、H(QR_ECLEVEL_H,30%);這個參數控制二維碼容錯率;不一樣的參數表示二維碼可被覆蓋的區域百分比。利用二維維碼的容錯率;咱們能夠將頭像放置在生成的二維碼圖片任何區域;

第四個參數$size;控制生成圖片的大小;默認爲4;

第五個參數$margin;控制生成二維碼的空白區域大小;

第六個參數$saveandprint;保存二維碼圖片並顯示出來;$outfile必須傳遞圖片路徑;

第七個參數$back_color;背景顏色;

第八個參數$fore_color;繪製二維碼的顏色;

note:第7、第八個參數須要傳16進制是色值;而且要把「#」替換爲「0x」
舉個栗子:
白色:#FFFFFF  =>  0xFFFFFF  
黑色:#000000  =>  0x000000  

更多用法;能夠直接參考源代碼了;http://phpqrcode.sourceforge.net/

白俊遙博客

 

 本文爲白俊遙原創文章,轉載無需和我聯繫,但請註明來自白俊遙博客http://baijunyao.com                        

相關文章
相關標籤/搜索