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 相关文章推荐
apache+mysql+php+ssl服务器之完全安装攻略
Sep 05 PHP
一个改进的UBB类
Oct 09 PHP
PHP 工厂模式使用方法
May 18 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
destoon实现调用自增数字从1开始的方法
Aug 21 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
Jan 07 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
smarty循环嵌套用法示例分析
Jul 19 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
Nov 09 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
PHP实现的激活用户注册验证邮箱功能示例
Jun 06 PHP
PHP实现一个限制实例化次数的类示例
Sep 16 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
TMDPHP 模板引擎使用教程
2012/03/13 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
checkbox 多选框 联动实现代码
2008/10/22 Javascript
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
python多线程http下载实现示例
2013/12/30 Python
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
Django实现自定义404,500页面教程
2017/03/26 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
大学自荐信
2013/12/12 职场文书
爱护花草树木的标语
2014/06/11 职场文书
找工作求职信
2014/07/07 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL