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中使用正则表达式进行查找替换
Jun 13 PHP
PHP数据类型的总结分析
Jun 13 PHP
PHP设计模式之调解者模式的深入解析
Jun 13 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
PHP两种快速排序算法实例
Feb 15 PHP
php检测apache mod_rewrite模块是否安装的方法
Mar 14 PHP
php判断linux下程序问题实例
Jul 09 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
php删除二维数组中的重复值方法
Mar 12 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
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
JavaScript闭包详解
2015/02/02 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
简单实现js页面切换功能
2021/01/10 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
javascript异常处理实现原理详解
2020/02/17 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
python错误处理详解
2014/09/28 Python
浅谈python中截取字符函数strip,lstrip,rstrip
2015/07/17 Python
Python编写一个闹钟功能
2017/07/11 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
python xpath获取页面注释的方法
2019/01/14 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
python-地图可视化组件folium的操作
2020/12/14 Python
护理专业自荐信
2013/12/03 职场文书
超市营业员岗位职责
2013/12/20 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
干部对照检查材料范文
2014/08/26 职场文书
代理人委托书
2014/09/16 职场文书
关于环保的宣传稿
2015/07/23 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
Java中try catch处理异常示例
2021/12/06 Java/Android