php生成二維碼

方法一:利用google api的方式

api參數簡要說明

//choe爲編碼,默認爲utf-8
//數據大於2K請用post進行發送
/*
chld錯誤處理
L:默認,允許恢復7%的數據丟失
M:允許15%
Q:允許25%
H:允許30%
*/

實現方法一:get方式

$width = 300;
$height = 300;
$data = "this is a test";

echo "<img src =\"http://chart.apis.google.com/chart?cht=qr&chs=".$width."x".$height."&chl=".$data."&choe=UTF-8\" >";

實現方法二:模擬post方式

$width = 300;
$height = 300;
$string = "姓名:王八 性別:不男不女姓名:王八 性別:不男不女姓名:王八 性別:不男不女姓名:王八 性別不女";
function qrcode($width,$height,$string)
{
    $post_data = array();
    $post_data['cht'] = 'qr';
    $post_data['chs'] = $width."x".$height;
    $post_data['chl'] = $string;
    $post_data['choe'] = "UTF-8";
    $url = "http://chart.apis.google.com/chart";
    $data_Array = array();
    foreach($post_data as $key => $value)
    {
        $data_Array[] = $key.'='.$value;
    }
    $data = implode("&",$data_Array);
    //echo $data;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_URL, $url);    
    curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
  
    //echo "<img src =\"data:image/png;base64,".base64_encode($result)."\" >"; 注意,不寫header的寫法

     return $result;
}

header("Content-type:image/png");
echo qrcode($width,$height,$string);

實現方法二

方法二:php類庫PHP QR Code

地址:http://phpqrcode.sourceforge.net/
下載:http://sourceforge.net/projects/phpqrcode/


方法三:libqrencode

地址:
http://fukuchi.org/works/qrencode/index.en.html
php支持請參考:http://hirokawa.netflowers.jp/entry/4900/

方法四:QRcode Perl CGI & PHP scripts
地址:http://www.swetake.com/qr/qr_cgi.html



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章