PHP產生二維碼的方式有多種,可以利用google開放的API,可以利用php QR Code類庫產生,本文著重介紹使用php QR Code類庫來產生二維碼。
1、程式碼封裝下載地址:http://sourceforge.net/projects/phpqrcode/
2、下載下來的壓縮包裡面有很多樣本,可以自行研究,下面給出一個簡單的使用案例:
| 代碼如下 |
複製代碼 |
include "phpqrcode/phpqrcode.php"; $data='http://www.111cn.net'; $errorCorrectionLevel="L"; $matrixPointSize="4"; QRcode::png($data,false,$errorCorrectionLevel,$matrixPointSize); |
官方法執行個體
| 代碼如下 |
複製代碼 |
<?php # include這兩個檔案之一: /* qrlib.php for full version (also you have to provide all library files form package plus cache dir) OR phpqrcode.php for merged version (only one file, but slower and less accurate code because disabled cache and quicker masking configured) */ # 兩句話解釋: # 包含qrlib.php的話需要同其它檔案放到一起:檔案、檔案夾。 # phpqrcode.php是合并後版本,只需要包含這個檔案,但產生的圖片速度慢而且不太準確 # 以下給出兩種用法: # 建立一個二維碼檔案 QRcode::png('code data text', 'filename.png'); // creates file # 產生圖片到瀏覽器 QRcode::png('some othertext 1234'); // creates code image and outputs it directly into browser ?> |
3、有的二維碼中間有圖片,其實就是把圖片拷貝到已經產生的二維碼圖片上,你懂得。
利用google產生二維碼的開放介面,代碼如下
| 代碼如下 |
複製代碼 |
/** * google api 二維碼產生【QRcode可以儲存最多4296個字母數字類型的任意文本,具體可以查看二維碼資料格式】 * @param string $data 二維碼包含的資訊,可以是數字、字元、二進位資訊、漢字。不能混合資料類型,資料必須經過UTF-8 URL-encoded.如果需要傳遞的資訊超過2K個位元組,請使用POST方式 * @param int $widhtHeight 產生二維碼的尺寸設定 * @param string $EC_level 可選錯誤修正層級,QR碼支援四個等級錯誤修正,用來恢複丟失的、讀錯的、模糊的、資料。 * L-預設:可以識別已損失的7%的資料 * M-可以識別已損失15%的資料 * Q-可以識別已損失25%的資料 * H-可以識別已損失30%的資料 * @param int $margin 產生的二維碼離圖片邊框的距離 */ function generateQRfromGoogle($data,$widhtHeight='150',$EC_level='L',$margin='0'){ $url=urlencode($data); echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$data.'" widhtHeight="'.$widhtHeight.'" widhtHeight="'.$widhtHeight.'"/>'; } |
調用方法
| 代碼如下 |
複製代碼 |
$data='著作權:http://www.111cn.net/'; generateQRfromGoogle($data); |