php网站制作如何生成二维码

2023-03-06    分类: 网站制作

第一种方法找网上的api接口

比如:联图
品味二维码:

草料:
其他都可以在网上搜到很多,但是这些api可能过一段时间会失效,以前就遇到过这样的情况,这就接口不可控性太大,所以我们要介绍第二种方法
二、用插件生成二维码
这里使用的是PHPQRcode新建函数(这里用的thinkPhp框架)
/**
*生成二维码
*@param$save_path二维码保存路径
*@paramstring$qr_data手机扫描后要跳转的网址
*@paramstring$qr_level默认纠错比例分为L、M、Q、H四个等级,H代表最高纠错能力
*@paramint$qr_size二维码图大小,1-10可选,数字越大图片尺寸越大
*@paramstring$save_prefix图片名称前缀
*@returnbool|string
*/
functioncreateQRcode($save_path,$qr_data='PHPQRCode:)',$qr_level='L',$qr_size=4,$save_prefix='qrcode'){
if(!isset($save_path))return'';
//设置生成png图片的路径
$PNG_TEMP_DIR=&$save_path;
//导入二维码核心程序
vendor('PHPQRcode.class#phpqrcode');//PHPQRcode是文件夹名字,class#phpqrcode就代表class.phpqrcode.php文件名
//检测并创建生成文件夹
if(!file_exists($PNG_TEMP_DIR)){
mkdir($PNG_TEMP_DIR);
}
$filename=$PNG_TEMP_DIR.'test.png';
$errorCorrectionLevel='L';
if(isset($qr_level)&&in_array($qr_level,array('L','M','Q','H'))){
$errorCorrectionLevel=&$qr_level;
}
$matrixPointSize=4;
if(isset($qr_size)){
$matrixPointSize=&min(max((int)$qr_size,1),10);
}
if(isset($qr_data)){
if(trim($qr_data)==''){
die('datacannotbeempty!');
}
//生成文件名文件路径+图片名字前缀+md5(名称)+.png
$filename=$PNG_TEMP_DIR.$save_prefix.md5($qr_data.'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';
//开始生成
QRcode::png($qr_data,$filename,$errorCorrectionLevel,$matrixPointSize,2);
}else{
//默认生成
QRcode::png('PHPQRCode:)',$filename,$errorCorrectionLevel,$matrixPointSize,2);
}
if(file_exists($PNG_TEMP_DIR.basename($filename))){
returnbasename($filename);
}else{
returnFALSE;
}
}
函数调用
$save_path='Qrcode/';//图片存储的绝对路径
$qr_data=C('PROTOCOL').$_SERVER['SERVER_NAME']..'/Share/member.html?str='.$member['mstr'];
$qr_level='H';
$qr_size='10';
$save_prefix='ZETA';
$filename=createQRcode($save_path,$qr_data,$qr_level,$qr_size,$save_prefix);
if($filename){
$pic=.'/'.$save_path.$filename;
}
$this->pic=$pic;
如何在利用PHPQRcode生成的二维码中间加上logo图片呢
$logo=.$member['picture'];//logo的图片地址
import("Org.Util.File");
$file=new\File($logo);
$logo=$file->getRealFile();
$file=new\File($pic);
$QR=$file->getRealFile();;//二维码图片地址
if($logo!==FALSE){
$QR=imagecreatefromstring(file_get_contents($QR));
$logo=imagecreatefromstring(file_get_contents($logo));
$QR_width=imagesx($QR);
$QR_height=imagesy($QR);
$logo_width=imagesx($logo);
$logo_height=imagesy($logo);
$logo_qr_width=$QR_width/5;
$scale=$logo_width/$logo_qr_width;
$logo_qr_height=$logo_height/$scale;
$from_width=($QR_width-$logo_qr_width)/2;
imagecopyresampled($QR,$logo,$from_width,$from_width,0,0,$logo_qr_width,$logo_qr_height,$logo_width,$logo_height);
}
imagepng($QR,$save_path.$filename);//跟logo合并之后的地址

网页标题:php网站制作如何生成二维码
地址分享:https://www.cdcxhl.com/news25/241975.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作