设为首页收藏本站

无忧开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索

利用PHP生成二维码

[复制链接]
zhanglongxi 发表于 2014-1-12 03:36:30 | 显示全部楼层 |阅读模式

导读:在二维码广泛应用化的今天,在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 = 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);  

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;  

?>  



评分

参与人数 1金币 +1 收起 理由
adminjet + 1 很给力!

查看全部评分

所属分类: