欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php二维码生成

程序员文章站 2023-11-25 11:55:22
本文介绍两种使用 php 生成二维码的方法。 (1)利用google生成二维码的开放接口,代码如下: /** * google api 二维码生成【q...

本文介绍两种使用 php 生成二维码的方法。
(1)利用google生成二维码的开放接口,代码如下:

/** 
 * google api 二维码生成【qrcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 
 * @param string $data 二维码包含的信息,可以是数字、字符、二进制信息、汉字。不能混合数据类型,数据必须经过utf-8 url-encoded.如果需要传递的信息超过2k个字节,请使用post方式 
 * @param int $widhtheight 生成二维码的尺寸设置 
 * @param string $ec_level 可选纠错级别,qr码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。 
 *       l-默认:可以识别已损失的7%的数据 
 *       m-可以识别已损失15%的数据 
 *       q-可以识别已损失25%的数据 
 *       h-可以识别已损失30%的数据 
 * @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='版权所有://www.jb51.net'; 
generateqrfromgoogle($data); 

post方法实现请求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='版权所有://www.jb51.net';
echo qrcode($width,$height,$data); 

当然生成的图片同上面是一样的。

(2)使用php qr code类库生成二维码
注意使用该类库必须首先下载类库包,下载地址:
地址:
下载下来的压缩包里面有很多示例,可以自行研究,下面给出一个简单的使用案例(具体参数的意思和上面大同小异):

<?php 
include "./phpqrcode.php"; 
$data='版权所有://www.jb51.net'; 
$errorcorrectionlevel="l"; 
$matrixpointsize="4"; 
qrcode::png($data,false,$errorcorrectionlevel,$matrixpointsize);

以上所述就是本文的全部内容了,希望对大家熟练掌握php生产二维码能够有所帮助。