安装composer里面的二维码扩展
composer require endroid/qr-code
在文件里引入的QrCode
use Endroid\QrCode\QrCode;
//前端传过来的id
$goodsId=Request::param('goods_id');
//传过来的是数组(二维码批量生成时候)
foreach ($goodsId as $id){
//要生成二维码的页面网址
$url='https://www.baidu.com';
//实例化QrCode
$qrcode=new \Endroid\QrCode\QrCode($url);
//获取当前时间戳当二维码名称
$time=time();
//用当前时间戳命名二维码
$dir='/qrcode/'.$time.'png';
//判断有没有qrcode这个文件夹,没有则创建(必须创建,不然报错) (用的是tp6框架,创建的文件在public目录下)
if(!is_dir('qrcode')){
mkdir("qrcode");
}
//app()->getRootPath()获取当前的跟目录
$QrcodeAddr=app()->getRootPath().'public'.$dir;
//将\替换成/ ,此处的\\ 的第一个\为转义
$addr=str_replace('\\','/',$QrcodeAddr);
//根据定义的地址生成二维码
$qrcode->writeFile($addr);
//生成(更新)二维码
$goods=Db::name('goods')->where('goods_id',$id)->save(['QRcode'=>$dir]);
if($goods){
return '成功';
}else{
return '失败';
}
}