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 相关文章推荐
PHP4.04简明安装
Oct 09 PHP
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
php操作XML、读取数据和写入数据的实现代码
Aug 15 PHP
thinkphp配置连接数据库技巧
Dec 02 PHP
php实现简易聊天室应用代码
Sep 23 PHP
WordPress过滤垃圾评论的几种主要方法小结
Jul 11 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
PHP入门教程之上传文件实例详解
Sep 11 PHP
PHP面向对象中new self()与 new static()的区别浅析
Aug 17 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
php通过各种函数判断0和空
Jul 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
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
Javascript加载速度慢的解决方案
2014/03/11 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
JSON相关知识汇总
2015/07/03 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
[00:14]PWL:老朋友Mushi拍VLOG与中国玩家问好
2020/11/04 DOTA
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
python连接MySQL数据库实例分析
2015/05/12 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
python文件编写好后如何实践
2020/07/07 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
python归并排序算法过程实例讲解
2020/11/04 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
英国排名第一的最新设计师品牌手表独立零售商:TIC Watches
2016/09/24 全球购物
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
新书吧创业计划书
2014/01/31 职场文书
就业自我评价
2014/02/04 职场文书
环境卫生标语
2014/06/09 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书