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 相关文章推荐
图书管理程序(三)
Oct 09 PHP
PHP CKEditor 上传图片实现代码
Nov 06 PHP
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
May 06 PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
浅析php header 跳转
Jun 17 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
Yii框架登录流程分析
Dec 03 PHP
php筛选不存在的图片资源
Apr 28 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
php版阿里云OSS图片上传类详解
Dec 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
文件上传程序的全部源码
2006/10/09 PHP
php FPDF类库应用实现代码
2009/03/20 PHP
php将时间差转换为字符串提示
2011/09/07 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
php实现文件下载实例分享
2014/06/02 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
TensorFlow损失函数专题详解
2018/04/26 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
物业经理求职自我评价
2013/09/22 职场文书
企业演讲稿范文
2013/12/28 职场文书
自荐信需注意事项
2014/01/25 职场文书
创先争优宣传标语
2014/10/08 职场文书
金榜题名主持词
2015/07/02 职场文书
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB
Python采集股票数据并制作可视化柱状图
2022/04/04 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python