自己搭建二維碼介面

hikarusun發表於2015-04-09

以前一直用別人現成的介面用著也不錯,最近感覺有點卡,於是網上搜了一下。

發現了這個,phpqrcode 下載地址:http://sourceforge.net/projects/phpqrcode/

把他下載下來,裡面有許多檔案,我們只需要用到一個“phpqrcode.php”copy到自己的目錄就行

接下來看怎麼用。

同目錄建立一個test.php

<?php 
//引入phpqrcode庫檔案
include('phpqrcode.php'); 
$value=$_GET['value']; // 二維碼資料 $data = $value; // 生成的檔名 $filename = 'test.png'; // 糾錯級別:L、M、Q、H $errorCorrectionLevel = 'L'; // 點的大小:1到10 $matrixPointSize = 4; //建立一個二維碼檔案 QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, 4); //輸入二維碼到瀏覽器 QRcode::png($data);

 

ok這樣就完成了,輸入地址\test.php?value=xxxxxx二維碼就這樣生成了

不過發現個問題,phpqrcode既然不能設定圖片的大小,網上搜了下有人給出了方法

開啟phpqrcode.php,搜尋

$target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint);

 然後這樣修改一下

        //$target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint);
            //ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH);
            $targetW = (defined('IMAGE_WIDTH') ? IMAGE_WIDTH : $imgW * $pixelPerPoint );
            $targetH = (defined('IMAGE_HEIGHT') ? IMAGE_HEIGHT : $imgH * $pixelPerPoint );

            $target_image =ImageCreate($targetW, $targetH);

            ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $targetW, $targetH, $imgW, $imgH);

可以完成了,然後把test.php再修改一下

<?php 
//引入phpqrcode庫檔案
include('phpqrcode.php'); 
$value=$_GET['value'];
$width=$_GET['width'];
define('IMAGE_WIDTH', $width);
define('IMAGE_HEIGHT', $width);

// 二維碼資料 
$data = $value; 
// 生成的檔名 
$filename = 'baidu.png'; 
// 糾錯級別:L、M、Q、H 
$errorCorrectionLevel = 'L';  
// 點的大小:1到10 
$matrixPointSize = 4;  
//建立一個二維碼檔案 
QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, 4);
//輸入二維碼到瀏覽器
QRcode::png($data); 

ok這下就真的完成了,輸入地址\test.php?value=xxxxxx&width=500 二維碼就這樣生成了

相關文章