方法一:利用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