校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > php實現生成帶二維碼圖片并強制下載功能

php實現生成帶二維碼圖片并強制下載功能

熱門標簽:400電話辦理福州市 長沙crm外呼系統業務 專業電話機器人批發商 400電話申請方法收費 離石地圖標注 電話機器人危險嗎 深圳外呼系統收費 南寧高頻外呼回撥系統哪家好 江蘇外呼電銷機器人報價

本文主要和大家分享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?'.$res['url']),3);
  // 制作掃碼牌
  $bgimg = imagecreatefromstring(file_get_contents($res['bgimg'])); // 拿到背景圖做畫布
  import('Component/phpqrcode',APP_PATH,'.php');  // 引入二維碼生成類
  // 如果有掃碼123二維碼,則生成掃碼123二維碼
  if('' != $res['codea']){
   /* 參數說明:
    * 參數1:二維碼需要保持的值
    * 參數2:false代表直接輸出,其他則是生成的文件名
    * 參數3:糾錯級別:L、M、Q、H
    * 參數4:點的大小,數值越大圖片越大
    * */
   \QRcode::png($res['codea'], $res['codeimg'], 'H', 18);
   /* 使用圖片縮放方法
   bool imagecopyresized($dst_im,$src_im,$dst_x,$dst_y,$src_x,$src_y,$dst_w,$dst_h,$src_w,$src_h)
     dst_im 目標圖像鏈接的資源。
     src_im 源圖像鏈接的資源。
     dst_x X坐標的目的地。
     dst_y y坐標目的地。
     src_x X坐標的源點。
     src_y y坐標源點。
     dst_w 目的地寬度。
     dst_h 目標高度。
     src_w 源寬度。
     src_h 源高度。
    * */
   $codeimg = imagecreatefromstring(file_get_contents($res['codeimg'])); // 拿到二維碼圖片
   $bg_info = getimagesize($res['codeimg']);        // 得到原二維碼圖片的大小
   imagecopyresized($bgimg,$codeimg,1520,550,0,70,700,666,$bg_info[0],$bg_info[1]-36);
  }
  // 如果存在銀聯云閃付二維碼,則生成銀聯云閃付二維碼圖片
  if('' != $res['codeb']){
   \QRcode::png($res['codeb'], $res['paycodeimg'], 'H', 18);
   $codeimg = imagecreatefromstring(file_get_contents($res['paycodeimg']));// 拿到二維碼圖片
   $bg_info = getimagesize($res['paycodeimg']);       // 得到原二維碼圖片的大小
   imagecopyresized($bgimg,$codeimg,236,536,0,80,750,670,$bg_info[0],$bg_info[1]-80);
  }
  // 如果存在商戶推廣二維碼,則生成商戶推廣二維碼圖片
  if('' != $res['codec']){
   \QRcode::png($res['codec'], $res['bridimg'], 'H', 18);
   $codeimg = imagecreatefromstring(file_get_contents($res['bridimg'])); // 拿到二維碼圖片
   $bg_info = getimagesize($res['bridimg']);        // 得到原二維碼圖片的大小
   imagecopyresized($bgimg,$codeimg,1375,1288,0,0,230,230,$bg_info[0],$bg_info[1]);
  }
  // 如果存在商戶名稱
  if('' != $res['bName']){
   // 為了讓文字居中,需要計算左偏移量
   preg_match_all("/[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']) ? '' : isset($data['qrcode'][$data['keys']['b02id']]) ? $data['url1'].$data['qrcode'][$data['keys']['b02id']]['brCode'] : '';
// 掃碼123二維碼編號
$show['brid']
= (!$data['keys']['b02id']) ? '' : isset($data['qrcode'][$data['keys']['b02id']]) ? 'NO.'.$data['keys']['b02id'] : '';
// 銀聯二維碼
$show['codeb']
= (!$data['keys']['unicon']) ? '' : isset($data['qrcode'][$data['keys']['unicon']]) ? $data['qrcode'][$data['keys']['unicon']]['brCode'] : '';
// 商戶推廣二維碼
$show['codec']
= (!$data['keys']['brid'])
 ? '' : isset($data['download'][$data['keys']['brid']]) ? $data['url2'].$data['download'][$data['keys']['brid']]['brCode'] : '';
// 商戶名稱
$show['bName']
= empty($data['seller']['bShortName']) ? (empty($data['seller']['bName']) ? (empty($data['seller']['bCode']) ? $data['seller']['b01id'] : $data['seller']['bCode']) : $data['seller']['bName'] ) : $data['seller']['bShortName'];
/* 如果存在舊圖片,則刪除舊圖片 */
if(is_file($res['codeimg']))
unlink($res['codeimg']);
// 刪除舊的掃碼123二維碼圖片
if(is_file($res['paycodeimg'])) unlink($res['paycodeimg']); // 刪除舊的銀聯云閃付二維碼圖片
if(is_file($res['paycodeimg'])) unlink($res['paycodeimg']); // 刪除舊的商戶推廣二維碼圖片
return $show;
}

總結

以上所述是小編給大家介紹的php生成帶二維碼圖片并強制下載實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • PHP生成二維碼與識別二維碼的方法詳解【附源碼下載】
  • PHP實現的創建帶logo圖標二維碼生成類詳解
  • PHP生成(支持多模板)二維碼海報代碼
  • PHP基于phpqrcode類生成二維碼的方法詳解
  • 微信小程序 PHP生成帶參數二維碼
  • php生成二維碼圖片方法匯總
  • php微信高級接口調用方法(自定義菜單接口、客服接口、二維碼)
  • php+laravel 掃碼二維碼簽到功能

標簽:南昌 濱州 南京 白酒營銷 太原 曲靖 株洲 興安盟

巨人網絡通訊聲明:本文標題《php實現生成帶二維碼圖片并強制下載功能》,本文關鍵詞  php,實現,生成,帶,二維,碼,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php實現生成帶二維碼圖片并強制下載功能》相關的同類信息!
  • 本頁收集關于php實現生成帶二維碼圖片并強制下載功能的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    |精品福利一区二区三区| 国产三级精品三级在线专区| 欧美激情自拍偷拍| 午夜国产不卡在线观看视频| 国产成人精品免费在线| 欧美精品日韩一本| 综合欧美亚洲日本| 国产精品1区2区3区在线观看| 欧美日韩激情一区| 亚洲精品国产品国语在线app| 国产一区二区91| 欧美一区二区三区喷汁尤物| 一区二区三区av电影| 成人中文字幕在线| 久久一日本道色综合| 石原莉奈在线亚洲二区| 色综合婷婷久久| 国产精品久久久久影视| 国内一区二区视频| 日韩欧美一级二级三级久久久| 亚洲国产精品麻豆| 色婷婷激情一区二区三区| 国产精品你懂的在线| 国产伦精品一区二区三区免费迷| 欧美一级高清片| 视频一区视频二区中文字幕| 91福利在线播放| 亚洲欧美精品午睡沙发| eeuss鲁片一区二区三区在线观看| 久久久国产午夜精品| 国产又黄又大久久| 欧美精品一区二区三区久久久 | 欧美成人video| 日韩av一级片| 欧美猛男超大videosgay| 亚洲国产精品一区二区久久恐怖片 | 一区二区三区精品在线观看| 成人免费视频播放| 欧美国产乱子伦| 丰满少妇在线播放bd日韩电影| 久久嫩草精品久久久久| 国产一区二区三区在线观看精品| 精品对白一区国产伦| 激情综合色播五月| 欧美va亚洲va| 国产乱色国产精品免费视频| 久久久蜜臀国产一区二区| 国产一区二区美女| 国产女人aaa级久久久级| 成人av在线看| 自拍偷拍亚洲激情| 在线亚洲精品福利网址导航| 亚洲妇女屁股眼交7| 欧美军同video69gay| 日本成人在线一区| 2021中文字幕一区亚洲| 国产91丝袜在线播放九色| 国产精品久久久99| 日本道在线观看一区二区| 亚洲综合区在线| 欧美一区二区在线视频| 极品少妇一区二区| 中文字幕在线一区| 91黄视频在线观看| 免费成人美女在线观看| 亚洲精品在线一区二区| 国产91精品一区二区麻豆网站| 国产精品国产三级国产| 欧美日韩一区二区三区四区| 美洲天堂一区二卡三卡四卡视频 | 日韩视频在线永久播放| 九九精品视频在线看| 日本一区免费视频| 色中色一区二区| 日本aⅴ亚洲精品中文乱码| www国产成人免费观看视频 深夜成人网| 风间由美一区二区三区在线观看 | 精品一区二区三区免费播放| 国产日韩精品久久久| 91蜜桃免费观看视频| 日日摸夜夜添夜夜添国产精品 | 色视频成人在线观看免| 日韩av不卡在线观看| 久久久99免费| 欧美性xxxxxxxx| 九色|91porny| 亚洲六月丁香色婷婷综合久久| 91精品免费观看| 懂色av一区二区夜夜嗨| 亚洲福中文字幕伊人影院| 欧美精品一区二区久久婷婷| 99视频一区二区| 免费av网站大全久久| 中文字幕欧美一区| 欧美一二区视频| 91在线丨porny丨国产| 日本午夜精品一区二区三区电影| 亚洲国产成人在线| 欧美一级二级三级蜜桃| 色婷婷香蕉在线一区二区| 老司机免费视频一区二区 | 精品国产乱码久久久久久免费| 99久久婷婷国产精品综合| 免费在线一区观看| 亚洲欧美偷拍另类a∨色屁股| 欧美成人三级电影在线| 欧美日免费三级在线| 国产91富婆露脸刺激对白| 日韩av中文在线观看| 亚洲欧美一区二区久久| 国产调教视频一区| 欧美一区二区精品| 欧美综合视频在线观看| 成人av电影观看| 久久精品国产精品青草| 亚洲国产成人tv| 国产精品护士白丝一区av| 精品国产网站在线观看| 欧美日韩欧美一区二区| 99re这里都是精品| 国产酒店精品激情| 奇米影视一区二区三区| 亚洲图片欧美综合| 亚洲欧美一区二区在线观看| 2023国产精品自拍| 日韩欧美色综合| 欧美精品在线一区二区| 欧美一a一片一级一片| 成人精品免费视频| 国产成人欧美日韩在线电影| 蜜桃一区二区三区四区| 日韩激情av在线| 亚洲一级片在线观看| 日韩美女啊v在线免费观看| 国产午夜久久久久| 久久久久高清精品| 欧美大胆人体bbbb| 欧美一级夜夜爽| 欧美高清性hdvideosex| 91成人国产精品| 一本久久综合亚洲鲁鲁五月天| 成人免费视频caoporn| 国产美女精品人人做人人爽| 蜜臀av性久久久久蜜臀aⅴ| 婷婷中文字幕综合| 亚洲第一搞黄网站| 亚洲国产另类av| 午夜伊人狠狠久久| 亚洲成人一区在线| 五月激情综合网| 日韩高清不卡一区| 六月婷婷色综合| 美女视频网站久久| 美国毛片一区二区三区| 美国欧美日韩国产在线播放| 蜜臀精品久久久久久蜜臀| 精品中文字幕一区二区| 久久99精品国产.久久久久| 久久精品国产一区二区三| 麻豆国产精品一区二区三区| 久久精品国产77777蜜臀| 久久精品国产免费看久久精品| 玖玖九九国产精品| 国产在线视频一区二区| 国产一区二区中文字幕| 国产91富婆露脸刺激对白| 成人免费va视频| 91丨九色丨蝌蚪富婆spa| 日本精品视频一区二区三区| 欧美午夜免费电影| 欧美一区二区三区四区在线观看| 欧美一级在线视频| 国产亚洲一区二区三区四区| 国产精品三级在线观看| 亚洲色图在线视频| 亚洲1区2区3区4区| 狠狠色狠狠色综合| 国产成人8x视频一区二区| a美女胸又www黄视频久久| 色菇凉天天综合网| 777色狠狠一区二区三区| 欧美大片在线观看一区二区| 欧美激情在线一区二区三区| 亚洲欧美日韩久久| 奇米色一区二区三区四区| 国产精品综合视频| 91搞黄在线观看| 欧美成人a在线| 中文字幕日韩一区| 亚洲成人免费看| 国产一区二区三区在线观看免费视频| a在线欧美一区| 欧美福利电影网| 国产偷国产偷亚洲高清人白洁| 1000精品久久久久久久久| 婷婷开心久久网| 成人午夜在线免费| 欧美日韩亚洲综合一区| 欧美精品一区二区三区在线 | 国产欧美精品区一区二区三区|