本文主要和大家分享php生成带二维码图片并强制下载实现代码,希望能帮助到大家实现一个自己的二维码。
/* 下载二维码 */ public function 测试(){ // 接收传递的参数 $data['keys'] = [ 'b01id'=>trim(I('get.b01id')), 'b02id'=>trim(I('get.b02id')), 'b03id'=>trim(I('get.b03id')), 'brid'=>trim(I('get.brid')), 'unicon'=>trim(I('get.unicon'))]; if(empty($data['keys']['b01id'])) $this->error('商户不存在',U('Seller/index'),3); $res = D('Sellerbrcode')->download($data); //方法在下面 if(!is_array($res)) $this->error($res,U('Seller/index'),3); if(!empty($res['error'])) $this->error($res['error'],U('Seller/seebrcode"/[0-9]{1}/",$res['bName'],$len1); // 得到字符串中的字数量 preg_match_all("/[a-zA-Z]{1}/",$res['bName'],$len2); // 得到字符串中的字母数量 preg_match_all("/([\x{4e00}-\x{9fa5}]){1}/u",$res['bName'],$len3); // 得到字符串中的中文数量 $left = 610 - (count($len1[0]) * 16) - (count($len2[0]) * 15) - (count($len3[0]) * 28); $res['filename'] .= '_' . $res['bName']; // 追加二维码名称 $black = imagecolorallocate($bgimg, 0x20, 0x57, 0xa0); // 字体颜色 imagefttext($bgimg, 42, 0, $left, 480, $black,'./Public/font/msyh.ttf',$res['bName']); } // 如果存在二维码编号,则写入二维码编号 if('' != $res['brid']){ $black = imagecolorallocate($bgimg, 0x3e, 0x75, 0xc7); //字体颜色 imagefttext($bgimg, 30, 0, 1720,1190, $black,'./Public/font/msyh.ttf',$res['brid']); } // 添加银联云闪付logo $codeimg = imagecreatefromstring(file_get_contents($res['union'])); // 拿到二维码图片 $bg_info = getimagesize($res['union']); // 得到原logo图片的大小 imagecopyresized($bgimg,$codeimg,550,760,0,0,120,120*$bg_info[1]/$bg_info[0],$bg_info[0],$bg_info[1]); // 添加添加扫码123logo $codeimg = imagecreatefromstring(file_get_contents($res['logo'])); // 拿到二维码图片 $bg_info = getimagesize($res['logo']); // 得到原logo图片的大小 imagecopyresized($bgimg,$codeimg,1805,770,0,0,120,120*$bg_info[1]/$bg_info[0],$bg_info[0],$bg_info[1]); $res['filename'] .= '_' . date('Y-m-d',time()) . '.png'; // 追加二维码名称 header('Pragma: public'); // required header('Expires: 0'); // no cache header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Cache-Control: private',false); header('Content-Type: application/force-download'); header('Content-Disposition: attachment; filename="'.$res['filename'].'"'); header('Content-Transfer-Encoding: binary'); header('Connection: close'); imagepng($bgimg); } /* 生成图片前 拼接数据 */ public function download($data){ $tool = D('Tool'); // 得到公共类 $mysql = M(); $admin = I('session.admin'); /* 拼接url,方便以下错误时,跳转使用 */ $show['url'] = 'b01id='.$data['keys']['b01id']; // 如果传递了用户id,那么判断该用户是否属于该商户 if($data['keys']['b03id']) $show['url'].= '&b03id='.$data['keys']['b03id']; // 如果传递了二维码id if($data['keys']['b02id']) $show['url'].= '&b02id='.$data['keys']['b02id']; // 如果传递了银联云闪付 if($data['keys']['unicon']) $show['url'].= '&unicon='.$data['keys']['unicon']; // 如果传递了推广二维码 if($data['keys']['brid']) $show['url'].= '&brid='.$data['keys']['brid']; // 调用上部方法得到数据 $data = $this->seebrcode($data,$tool,$mysql,$admin,false); if(!is_array($data)){ return ['error'=>$data,'url'=>$show['url']]; } /* 得到要展示的数据 */ $show['bgimg'] = './Public/img/qrcode/qrcode.png'; // 背景图片地址 $show['logo'] = './Public/img/qrcode/logo.png'; // 扫码123的logo地址 $show['union'] = './Public/img/qrcode/unionPay.png'; // 银联logo地址 $show['codeimg'] = './Public/img/qrcode/code.png'; // 普通二维码生成的保存地址 $show['paycodeimg'] = './Public/img/qrcode/paycode.png'; // 银联二维码生成的保存地址 $show['bridimg'] = './Public/img/qrcode/brid.png'; // 商户推广二维码图片的保存地址 $show['filename'] = '扫码123收款二维码'; // 二维码名称 // 扫码123二维码内容 $show['codea'] = (!$data['keys']['b02id']) "color: #ff0000">总结以上所述是小编给大家介绍的php生成带二维码图片并强制下载实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年09月21日
2024年09月21日
- 王菲.1996-《乐乐精逊SACD日本限量版[WAV+CUE]
- 不止黑神话!杭州给原创企业真金白银扶持 打造“杭州游戏”品牌
- 很有多样性:《战锤》首次引入非二元性别角色
- 《少女前线2:追放》项目组将裁员 官方:进一步优化组织结构
- 陈慧琳.2002-闪亮每一天新歌+精选2CD【正东】【WAV+CUE】
- 袁培华.1992-有缘【歌林】【WAV+CUE】
- 王瑞霞.1996-是我太软心【名冠】【WAV+CUE】
- 《谭维维 30首经典流行歌曲精选辑 2CD》[WAV/分轨][1.1GB]
- 《赵传 出道三十年全新大碟 你过得还好吗》[WAV/分轨][460MB]
- 《发烧四大天王 磁性男声HiFi发烧碟 2CD》[WAV/分轨][1GB]
- 黑神话悟空上品鼠司空精魄获取方法一览|上品鼠司空精魄收集攻略
- 《真三国无双:起源》新情报将于9月26日公开,实机演示亮相!
- 黑神话悟空上品鼠禁卫精魄获取方法一览|上品鼠禁卫精魄收集攻略
- 优美的旋律至真的情怀《品茶轻音乐·极品典藏Vol.1CD1》[WAV+CUE]
- 曾嵘《峥嵘岁月DSD(试音碟)》WAV+CUE