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.MVC的模板标签系统(二)
Sep 05 PHP
PHP入门之常量简介和系统常量
May 12 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
Jun 12 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
php+ajax注册实时验证功能
Jul 20 PHP
PHP基于自增数据如何生成不重复的随机数示例
May 19 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 PHP
浅谈laravel-admin的sortable和orderby使用问题
Oct 03 PHP
laravel-admin 实现给grid的列添加行数序号的方法
Oct 08 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
Apr 06 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中全局变量global的使用演示代码
2011/05/18 PHP
列举PHP的Yii 2框架的开发优势
2015/07/03 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
用JavaScript页面不刷新时全选择,全删除(GridView)
2009/04/14 Javascript
jquery 批量上传图片实现代码
2010/01/28 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
js+css实现文字散开重组动画特效代码分享
2015/08/21 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
老生常谈js中的MVC
2017/07/25 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
Python的randrange()方法使用教程
2015/05/15 Python
自己使用总结Python程序代码片段
2015/06/02 Python
用Python实现数据的透视表的方法
2018/11/16 Python
如何使用Python 打印各种三角形
2019/06/28 Python
Django中URL的参数传递的实现
2019/08/04 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
营销与策划个人求职信
2013/09/22 职场文书
文字自荐书范文
2014/02/10 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
Java 多线程并发FutureTask
2022/06/28 Java/Android
mysql全面解析json/数组
2022/07/07 MySQL