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 大数据量及海量数据处理算法总结
May 07 PHP
深入解析PHP中的(伪)多线程与多进程
Jul 01 PHP
基于PHP创建Cookie数组的详解
Jul 03 PHP
Smarty模板学习笔记之Smarty简介
May 20 PHP
php socket实现的聊天室代码分享
Aug 16 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
PHP-FPM之Chroot执行环境详解
Aug 03 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
java微信开发之上传下载多媒体文件
Jun 24 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
Aug 11 PHP
Yii2 queue的队列使用详解
Jul 19 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
php 归并排序 数组交集
2011/05/10 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
2019/01/10 PHP
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
JS验证身份证有效性示例
2013/10/11 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
python使用marshal模块序列化实例
2014/09/25 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
CSS3控制HTML元素动画效果
2014/02/08 HTML / CSS
院领导写的就业推荐信
2014/03/09 职场文书
教师听课评语大全
2014/12/31 职场文书
评职称个人总结
2015/03/05 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
MySQL数据库事务的四大特性
2022/04/20 MySQL