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使之能同时支持GIF和JPEG
Oct 09 PHP
PHP 可阅读随机字符串代码
May 26 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
PHP empty函数报错解决办法
Mar 06 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 PHP
PHP实现对xml的增删改查操作案例分析
May 19 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 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
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
PHP闭包实例解析
2014/09/08 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
PHP的全局错误处理详解
2016/04/25 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
使用script的src实现跨域和类似ajax效果
2014/11/10 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
python中while和for的区别总结
2019/06/28 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
武汉东之林科技有限公司机试
2013/09/17 面试题
this关键字的作用
2016/01/30 面试题
银行介绍信范文
2014/01/10 职场文书
先进党支部事迹材料
2014/01/13 职场文书
考博专家推荐信
2014/05/10 职场文书
召开会议通知范文
2015/04/15 职场文书
跑吧孩子观后感
2015/06/10 职场文书
消防宣传语大全
2015/07/13 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python