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 相关文章推荐
构建简单的Webmail系统
Oct 09 PHP
CakePHP去除默认显示的标题及图标的方法
Oct 22 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 PHP
PHP获取文件夹内文件数的方法
Mar 12 PHP
php通过淘宝API查询IP地址归属等信息
Dec 25 PHP
PHP缓冲区用法总结
Feb 14 PHP
php无法连接mysql数据库的正确解决方法
Jul 01 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
Jul 01 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
Dec 29 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
总结PHP中初始化空数组的最佳方法
Feb 13 PHP
PHP如何解决微信文章图片防盗链
Dec 09 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
PHP 强制下载文件代码
2010/10/24 PHP
如何在php中正确的使用json
2013/08/06 PHP
php 魔术方法详解
2014/11/11 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/25 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
js微信支付实现代码
2016/12/22 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
微信小程序实现YDUI的ScrollTab组件
2018/02/02 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
2019/04/12 Javascript
[02:08]DOTA2英雄基础教程 马格纳斯
2014/01/17 DOTA
python实现rsa加密实例详解
2017/07/19 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
软件测试工程师结构化面试题库
2016/11/23 面试题
婚前保证书
2014/04/29 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
有关环保的标语
2014/06/13 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
股东授权委托书
2014/10/15 职场文书
安全先进班组材料
2014/12/26 职场文书
实习工作表现评语
2014/12/31 职场文书
安全主题班会教案
2015/08/12 职场文书
python如何读取.mtx文件
2021/04/22 Python
golang DNS服务器的简单实现操作
2021/04/30 Golang