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