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部分常见问题总结
Mar 27 PHP
php echo 输出字符串函数详解
May 13 PHP
PHP批量采集下载美女图片的实现代码
Jun 03 PHP
为PHP5.4开启Zend OPCode缓存
Dec 26 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
smarty简单应用实例
Nov 03 PHP
PHP读取PPT文件的方法
Dec 10 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 PHP
ThinkPHP中create()方法自动验证实例
Apr 26 PHP
php从数据库中获取数据用ajax传送到前台的方法
Aug 20 PHP
PHP操作Redis数据库常用方法示例
Aug 25 PHP
Laravel路由研究之domain解决多域名问题的方法示例
Apr 04 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
提问的智慧(2)
2006/10/09 PHP
php 读取文件乱码问题
2010/02/20 PHP
php常用文件操作函数汇总
2014/11/22 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
Python 可爱的大小写
2008/09/06 Python
python Django连接MySQL数据库做增删改查
2013/11/07 Python
videocapture库制作python视频高速传输程序
2013/12/23 Python
给Python初学者的一些编程技巧
2015/04/03 Python
python通过索引遍历列表的方法
2015/05/04 Python
Python中实现三目运算的方法
2015/06/21 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
django API 中接口的互相调用实例
2020/04/01 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
Oracle快照(snapshot)
2015/03/13 面试题
校长竞聘演讲稿
2014/05/16 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
团结主题班会
2015/08/13 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
php中pcntl_fork详解
2021/04/01 PHP