php二维码生成


Posted in PHP onOctober 19, 2015

本文介绍两种使用 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='版权所有:https://3water.com'; 
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='版权所有:https://3water.com';
echo qrcode($width,$height,$data);

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

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

<?php 
include "./phpqrcode.php"; 
$data='版权所有:https://3water.com'; 
$errorCorrectionLevel="L"; 
$matrixPointSize="4"; 
QRcode::png($data,false,$errorCorrectionLevel,$matrixPointSize);

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

PHP 相关文章推荐
使用PHP和XSL stylesheets转换XML文档
Oct 09 PHP
php,ajax实现分页
Mar 27 PHP
php的access操作类
Apr 09 PHP
关于php mvc开发模式的感想
Jun 28 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
Feb 17 PHP
浅析PHP页面局部刷新功能的实现小结
Jun 21 PHP
php中memcache 基本操作实例
May 17 PHP
PHP实现递归无限级分类
Oct 22 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
Dec 22 PHP
PHP实现带重试功能的curl连接示例
Jul 28 PHP
laravel框架如何设置公共头和公共尾
Oct 22 PHP
数据结构之利用PHP实现二分搜索树
Oct 25 PHP
部署PHP时的4个配置修改说明
Oct 19 #PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
Oct 19 #PHP
基于PHP实现假装商品限时抢购繁忙的效果
Oct 16 #PHP
php如何连接sql server
Oct 16 #PHP
Apache启动报错No space left on device: AH00023该怎么解决
Oct 16 #PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 #PHP
全面解读PHP的人气开发框架Laravel
Oct 15 #PHP
You might like
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
Javascript图像处理思路及实现代码
2012/12/25 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
通过npm或yarn自动生成vue组件的方法示例
2019/02/12 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
Openlayers绘制聚合标注
2020/09/28 Javascript
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
深入理解NumPy简明教程---数组2
2016/12/17 Python
深入理解python中的select模块
2017/04/23 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
Python爬虫使用代理IP的实现
2019/10/27 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
办护照工作证明范本
2014/01/14 职场文书
会计专业大学生求职信范文
2014/01/28 职场文书
培训楼经理岗位责任制
2014/02/10 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
读书小明星事迹材料
2014/05/03 职场文书
办理房产过户的委托书
2014/09/14 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
MySQL中order by的执行过程
2022/06/05 MySQL
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js