首页 > 代码库 > 利用PHP生成二维码

利用PHP生成二维码

导读:在二维码广泛应用化的今天,在web站点中自动生成对应的二维码是最基础的需求。文章介绍了使用PHP自动生成二维码的三种方式。




get方法实现方式一:

 

$urlToEncode="163.com";  

generateQRfromGoogle($urlToEncode);  

function generateQRfromGoogle($chl,$widhtHeight =‘150‘,$EC_level=‘L‘,$margin=‘0‘)  {  

     $url = urlencode($url);  

     return  ‘<img src="http://chart.apis.google.com/chart?chs=‘.$widhtHeight.‘x‘.$widhtHeight.‘&cht=qr&    chld=‘.$EC_level.‘|‘.$margin.‘&chl=‘.$chl.‘" alt="QR code" widhtHeight="‘.$size.‘" widhtHeight="‘.$size.‘"/>‘;  

}  

 

post方法实现方式:

$width = 300;  

$height = 300;  

$string = "163.com";  

function qrcode($width,$height,$string)  

{  

    $post_data = http://www.mamicode.com/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 = http://www.mamicode.com/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 =http://www.mamicode.com/"data:image/png;base64,".base64_encode($result)."\" >"; 注意,不写header的写法  

  

     return $result;  

}  

  

header("Content-type:image/png");  

echo qrcode($width,$height,$string);  

 

2.利用php类库PHP QR Code来实现

首先下载类库包 

地址:http://phpqrcode.sourceforge.net/

下载:http://sourceforge.net/projects/phpqrcode/

  • API文档

  • 详细的例子昆明男科医院 

 

<?  

include "./phpqrcode/phpqrcode.php";  

$value="http://www.weste.net";  

$errorCorrectionLevel = "L";  

$matrixPointSize = "4";  

QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize);  

exit;  

?>