利用php怎么实现一个带标志的二维码生成功能

  介绍

这篇文章将为大家详细讲解有关利用php怎么实现一个带标志的二维码生成功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强>一、使用的类库

1, phpqrcode (php库)

2, qrcode.js (javascript库)

<强>二,phpqrcode的使用

只用php的类库,也就是二维码的生成在后台操作。因为要在后台生成带标志的二维码,那么首先必须将标志图片上传至服务器(在上传这里我用了webuploader)

phpqrcode使用方法:

首先下载phpqrcode: http://phpqrcode.sourceforge.net/

然后在使用之前记得引入phpqrcode.php文件

value 美元;=,$ url;//二维码内容,   时间=美元errorCorrectionLevel  & # 39; l # 39;;//设置容错级别,   $ matrixPointSize =,大小;美元//生成图片大小,   QRcode:: png(美元价值,& # 39;public_files& # 39; .DIRECTORY_SEPARATOR 强生# 39;代码# 39;.DIRECTORY_SEPARATOR 强生# 39;qrcode.png& # 39;,, errorCorrectionLevel美元,matrixPointSize美元,2);//生成二维码图片,无标识   $ logo =, tar_path美元;//上传至服务器的标志图片,=$ QR  & # 39; public_files& # 39; .DIRECTORY_SEPARATOR 强生# 39;代码# 39;.DIRECTORY_SEPARATOR 强生# 39;qrcode.png& # 39;;//已经生成的原始二维码图   ,   if  (logo 美元;!==,FALSE), {   时间=美元才能QR  imagecreatefromstring (file_get_contents (QR)美元);   时间=美元才能logo  imagecreatefromstring (file_get_contents(标志)美元);   时间=美元才能QR_width  imagesx (QR);//二维码图片宽度   时间=美元才能QR_height  imagesy (QR);//二维码图片高度   时间=美元才能logo_width  imagesx(美元标志);//标志图片宽度   时间=美元才能logo_height  imagesy(美元标志);//标志图片高度=美元才能logo_qr_width  QR_width 美元/,5;   时间=美元才能scale  logo_width/logo_qr_width美元;   时间=美元才能logo_qr_height  logo_height/美元规模;   美元才能from_width =, (QR_width 美元;作用;logo_qr_width美元),/,2;   imagecopyresampled才能(QR美元,美元标志,,from_width美元,from_width美元,,0,0,,logo_qr_width美元,   ,,,logo_qr_height美元,logo_width美元,美元logo_height);   }=美元name 拖延时间();   imagepng (QR美元,,& # 39;public_files& # 39; .DIRECTORY_SEPARATOR 强生# 39;代码# 39;.DIRECTORY_SEPARATOR 。美元的名字强生# 39;. png # 39;);//输出带标志的二维码图片

<强>三,qrcode.js的使用

使用qrcode.js在前端直接生成二维码,首先需要下载jquery.qrcode。js

qrcode的使用也很简单:

var  length =,大小* 80;//设置二维码大小   时间=length 方法(长度);   $ (“# code_img") .qrcode ({,//code_img是一个img标签的id   render 才能:“canvas",,,//设置渲染方式,有表和画布,使用帆布方式渲染性能相对来说比较好   text 才能:url,,,//扫描二维码后显示的内容,可以直接填一个网址,扫描二维码后自动跳向该链接   width 才能:,,,,,,,,,//二维码的宽度   height 才能:长度,   background 才能:“# ffffff",,,,,//二维码的后景色   foreground 才能:“# 000000,,,,,,//二维码的前景色   src才能:$(& # 39;#图片# 39;).attr (& # 39; src # 39;),,,,,,,//二维码中间的图片   });

引入jquery.qrcode.js后再自己编写这段js代码,执行后二维码就可以显示处理了

主要是二维码中间的标志引用格式,一般取本地图片有两种格式:一种是本地URL,另一种是将图片转成base64格式

一开始我试用本地URL的格式来引用图片,发现只能引用与js文件统一目录下的图片,所以本地URL格式并不支持,于是我采用了后一种方式。

& lt;输入接受=巴枷?*”;类型=癴ile"id=癴ile_input"祝辞

来上传选取本地图片,然后取其base64格式

var  input =, . getelementbyid (“file_input");   ,   如果(typeof  FileReader===& # 39;未定义# 39;){   input.setAttribute才能(& # 39;残疾人# 39;,& # 39;残疾人# 39;);   其他}{   input.addEventListener才能(& # 39;改变# 39;,readFile,假);   }   ,   function  readFile () {   var 才能;file =, this.files [0];   如果才能(!/图像\/\ w +/test (file.type)) {   ,,,警报(“文件必须为图片!“);   ,,,return 假;   ,,}   var 才能;reader =, new  FileReader ();   reader.readAsDataURL才能(文件);   reader.onload 才能=,函数(e) {   ,,,$(& # 39;#图片# 39;).attr (& # 39; src # 39;, this.result);//图像为img标签的id   ,,}   }

利用php怎么实现一个带标志的二维码生成功能