介绍
这篇文章将为大家详细讲解有关利用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怎么实现一个带标志的二维码生成功能