国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php二維碼生成

Original 2017-01-18 13:40:32 305
abstract:本文介紹兩種使用 php 生成二維碼的方法。(1)利用google生成二維碼的開放接口,代碼如下:/**  * google api 二維碼生成【QRcode可以存儲(chǔ)最多4296個(gè)字母數(shù)字類型的任意文本,具體可以查看二維碼數(shù)據(jù)格式】  * @param string $data 二維碼包含的信息,可以是數(shù)字、

本文介紹兩種使用 php 生成二維碼的方法。
(1)利用google生成二維碼的開放接口,代碼如下:

/**
 * google api 二維碼生成【QRcode可以存儲(chǔ)最多4296個(gè)字母數(shù)字類型的任意文本,具體可以查看二維碼數(shù)據(jù)格式】
 * @param string $data 二維碼包含的信息,可以是數(shù)字、字符、二進(jìn)制信息、漢字。不能混合數(shù)據(jù)類型,數(shù)據(jù)必須經(jīng)過UTF-8 URL-encoded.如果需要傳遞的信息超過2K個(gè)字節(jié),請使用POST方式
 * @param int $widhtHeight 生成二維碼的尺寸設(shè)置
 * @param string $EC_level 可選糾錯(cuò)級別,QR碼支持四個(gè)等級糾錯(cuò),用來恢復(fù)丟失的、讀錯(cuò)的、模糊的、數(shù)據(jù)。
 *       L-默認(rèn):可以識(shí)別已損失的7%的數(shù)據(jù)
 *       M-可以識(shí)別已損失15%的數(shù)據(jù)
 *       Q-可以識(shí)別已損失25%的數(shù)據(jù)
 *       H-可以識(shí)別已損失30%的數(shù)據(jù)
 * @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='版權(quán)所有:http://www.jb51.net';
generateQRfromGoogle($data);

post方法實(shí)現(xiàn)請求google api 生成二維碼的方式:

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);
 $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");
$width=300;
$height=300;
$data='版權(quán)所有:http://www.jb51.net';
echo qrcode($width,$height,$data);

當(dāng)然生成的圖片同上面是一樣的。

(2)使用php QR Code類庫生成二維碼
注意使用該類庫必須首先下載類庫包,下載地址:
地址:http://phpqrcode.sourceforge.net/
下載下來的壓縮包里面有很多示例,可以自行研究,下面給出一個(gè)簡單的使用案例(具體參數(shù)的意思和上面大同小異):

<?php
include "./phpqrcode.php";
$data='版權(quán)所有:<a href="http://www.jb51.net'">http://www.jb51.net'</a>;
$errorCorrectionLevel="L";
$matrixPointSize="4";
QRcode::png($data,false,$errorCorrectionLevel,$matrixPointSize);

 更多關(guān)于php二維碼生成請關(guān)注PHP中文網(wǎng)(www.miracleart.cn)其他文章!   


Release Notes

Popular Entries