thinkphp5.0生成带编号的二维码

thinkphp5.0生成带编号的二维码

需要生成二维码,类似于摩拜单车的二维码那样,直接往实物上贴的
直性子上代码

public function qrcode($url){ 

		//获取要生成的数量
		//引入二维码生成插件
		vendor("phpqrcode.phpqrcode");

		// 生成的二维码所在目录+文件名 
		$path = "./uploadfile/erweima/".date('Ymd',time()).'/';//生成的二维码所在目录
	    if(!file_exists($path)){   
		    mkdir($path, 0700,true);
	    }
	    $time = $url.'.png';//生成的二维码文件名
	    $fileName = $path.$time;//1.拼装生成的二维码文件路径   
		
	    $level = 'L';  //3.纠错级别:L、M、Q、H  

	    $size = 10;//4.点的大小:1到10,用于手机端4就可以了 
		
		//二维码内容
		$link = WEB_HOST.'index.php/prize/index/index?num='.$url; 
		
	    \QRcode::png($link, $fileName, $level, $size);//生成二维码
	    
		
		$img=WEB_HOST.substr($fileName, 2);//二维码路径
		//到这其实已经生成了,现在要将二维码和编号合成一张图片
		//到这其实已经生成了,现在要将二维码和编号合成一张图片
		//到这其实已经生成了,现在要将二维码和编号合成一张图片
		//重要的事情说三遍
		$result=$this->final_qrcode($url,$img);
		
	}
	
	
	/**
	  * @Action: final_qrcode
	  * @Actiontest: 将二维码和二维码编号合成一张图片 number 编号 图片路径
	  * @Author: 张先生
	  */
	public function final_qrcode($url,$img){   
		//给生成的二维码添加背景图(方法二) 
		$bigImgPath ='.'.substr($img, 22);   
		
		$bigImg = imagecreatefromstring(file_get_contents($bigImgPath));
		
		//编号 开始
		$wenzi = $url; 
		$red = imagecolorallocate($bigImg, 0,0, 0); 
		imagefttext($bigImg, 18, 0, 150, 395, $red, './MSYHBD.TTF', $wenzi); 
		
		//编号 结束
		header('Content-Type:image/png'); 
		$savepath="./uploadfile/finalerweima/".date('Ymd',time())."/";//推广二维码本地存储路径 
		if(!file_exists($savepath)){   
		    mkdir($savepath, 0700,true);
	    }
		$time=$url.".png";
		$savepath=$savepath.$time;
		imagepng($bigImg,$savepath);//推广二维码存到本地 
		
		$savepath=WEB_HOST.substr($savepath, 2); 
		
		$data=[
			'img'=>$savepath,//路径
			'number'=>$url,//编号
			'erw_class'=>$this->erw_class,//奖品
			'erw_addtime'=>time(),
		];
		//添加
		$act=db('dkerweima')->insertGetid($data);
		
		
	}

张先生的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张先生002

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值