好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > php實(shí)現(xiàn)生成帶二維碼圖片并強(qiáng)制下載功能

php實(shí)現(xiàn)生成帶二維碼圖片并強(qiáng)制下載功能

熱門(mén)標(biāo)簽:400電話(huà)辦理福州市 長(zhǎng)沙crm外呼系統(tǒng)業(yè)務(wù) 專(zhuān)業(yè)電話(huà)機(jī)器人批發(fā)商 400電話(huà)申請(qǐng)方法收費(fèi) 離石地圖標(biāo)注 電話(huà)機(jī)器人危險(xiǎn)嗎 深圳外呼系統(tǒng)收費(fèi) 南寧高頻外呼回?fù)芟到y(tǒng)哪家好 江蘇外呼電銷(xiāo)機(jī)器人報(bào)價(jià)

本文主要和大家分享php生成帶二維碼圖片并強(qiáng)制下載實(shí)現(xiàn)代碼,希望能幫助到大家實(shí)現(xiàn)一個(gè)自己的二維碼。

/* 下載二維碼 */
 public function 測(cè)試(){
  // 接收傳遞的參數(shù)
  $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('商戶(hù)不存在',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'])); // 拿到背景圖做畫(huà)布
  import('Component/phpqrcode',APP_PATH,'.php');  // 引入二維碼生成類(lèi)
  // 如果有掃碼123二維碼,則生成掃碼123二維碼
  if('' != $res['codea']){
   /* 參數(shù)說(shuō)明:
    * 參數(shù)1:二維碼需要保持的值
    * 參數(shù)2:false代表直接輸出,其他則是生成的文件名
    * 參數(shù)3:糾錯(cuò)級(jí)別:L、M、Q、H
    * 參數(shù)4:點(diǎn)的大小,數(shù)值越大圖片越大
    * */
   \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 目標(biāo)圖像鏈接的資源。
     src_im 源圖像鏈接的資源。
     dst_x X坐標(biāo)的目的地。
     dst_y y坐標(biāo)目的地。
     src_x X坐標(biāo)的源點(diǎn)。
     src_y y坐標(biāo)源點(diǎn)。
     dst_w 目的地寬度。
     dst_h 目標(biāo)高度。
     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);
  }
  // 如果存在銀聯(lián)云閃付二維碼,則生成銀聯(lián)云閃付二維碼圖片
  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);
  }
  // 如果存在商戶(hù)推廣二維碼,則生成商戶(hù)推廣二維碼圖片
  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]);
  }
  // 如果存在商戶(hù)名稱(chēng)
  if('' != $res['bName']){
   // 為了讓文字居中,需要計(jì)算左偏移量
   preg_match_all("/[0-9]{1}/",$res['bName'],$len1);     // 得到字符串中的字?jǐn)?shù)量
   preg_match_all("/[a-zA-Z]{1}/",$res['bName'],$len2);    // 得到字符串中的字母數(shù)量
   preg_match_all("/([\x{4e00}-\x{9fa5}]){1}/u",$res['bName'],$len3); // 得到字符串中的中文數(shù)量
   $left = 610 - (count($len1[0]) * 16) - (count($len2[0]) * 15) - (count($len3[0]) * 28);
   $res['filename'] .= '_' . $res['bName'];       // 追加二維碼名稱(chēng)
   $black = imagecolorallocate($bgimg, 0x20, 0x57, 0xa0);    // 字體顏色
   imagefttext($bgimg, 42, 0, $left, 480, $black,'./Public/font/msyh.ttf',$res['bName']);
  }
  // 如果存在二維碼編號(hào),則寫(xiě)入二維碼編號(hào)
  if('' != $res['brid']){
   $black = imagecolorallocate($bgimg, 0x3e, 0x75, 0xc7);    //字體顏色
   imagefttext($bgimg, 30, 0, 1720,1190, $black,'./Public/font/msyh.ttf',$res['brid']);
  }
  // 添加銀聯(lián)云閃付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';    // 追加二維碼名稱(chēng)
  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);
 }

/* 生成圖片前 拼接數(shù)據(jù) */
public function download($data){
$tool = D('Tool');
// 得到公共類(lèi)
$mysql = M();
$admin = I('session.admin');
/* 拼接url,方便以下錯(cuò)誤時(shí),跳轉(zhuǎn)使用 */
$show['url'] = 'b01id='.$data['keys']['b01id'];
// 如果傳遞了用戶(hù)id,那么判斷該用戶(hù)是否屬于該商戶(hù)
if($data['keys']['b03id'])
$show['url'].= 'b03id='.$data['keys']['b03id'];
// 如果傳遞了二維碼id
if($data['keys']['b02id'])
$show['url'].= 'b02id='.$data['keys']['b02id'];
// 如果傳遞了銀聯(lián)云閃付
if($data['keys']['unicon']) $show['url'].= 'unicon='.$data['keys']['unicon'];
// 如果傳遞了推廣二維碼
if($data['keys']['brid'])
$show['url'].= 'brid='.$data['keys']['brid'];
// 調(diào)用上部方法得到數(shù)據(jù)
$data = $this->seebrcode($data,$tool,$mysql,$admin,false);
if(!is_array($data)){ return ['error'=>$data,'url'=>$show['url']]; }
/* 得到要展示的數(shù)據(jù)
*/
$show['bgimg']
= './Public/img/qrcode/qrcode.png';
// 背景圖片地址
$show['logo']
= './Public/img/qrcode/logo.png';
// 掃碼123的logo地址
$show['union'] 
= './Public/img/qrcode/unionPay.png';
// 銀聯(lián)logo地址
$show['codeimg']
= './Public/img/qrcode/code.png';
// 普通二維碼生成的保存地址
$show['paycodeimg'] = './Public/img/qrcode/paycode.png';
// 銀聯(lián)二維碼生成的保存地址
$show['bridimg']
= './Public/img/qrcode/brid.png';
// 商戶(hù)推廣二維碼圖片的保存地址
$show['filename']
= '掃碼123收款二維碼';
// 二維碼名稱(chēng)
// 掃碼123二維碼內(nèi)容
$show['codea']
= (!$data['keys']['b02id']) ? '' : isset($data['qrcode'][$data['keys']['b02id']]) ? $data['url1'].$data['qrcode'][$data['keys']['b02id']]['brCode'] : '';
// 掃碼123二維碼編號(hào)
$show['brid']
= (!$data['keys']['b02id']) ? '' : isset($data['qrcode'][$data['keys']['b02id']]) ? 'NO.'.$data['keys']['b02id'] : '';
// 銀聯(lián)二維碼
$show['codeb']
= (!$data['keys']['unicon']) ? '' : isset($data['qrcode'][$data['keys']['unicon']]) ? $data['qrcode'][$data['keys']['unicon']]['brCode'] : '';
// 商戶(hù)推廣二維碼
$show['codec']
= (!$data['keys']['brid'])
 ? '' : isset($data['download'][$data['keys']['brid']]) ? $data['url2'].$data['download'][$data['keys']['brid']]['brCode'] : '';
// 商戶(hù)名稱(chēng)
$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']); // 刪除舊的銀聯(lián)云閃付二維碼圖片
if(is_file($res['paycodeimg'])) unlink($res['paycodeimg']); // 刪除舊的商戶(hù)推廣二維碼圖片
return $show;
}

總結(jié)

以上所述是小編給大家介紹的php生成帶二維碼圖片并強(qiáng)制下載實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

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

標(biāo)簽:南昌 濱州 南京 白酒營(yíng)銷(xiāo) 太原 曲靖 株洲 興安盟

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php實(shí)現(xiàn)生成帶二維碼圖片并強(qiáng)制下載功能》,本文關(guān)鍵詞  php,實(shí)現(xiàn),生成,帶,二維,碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php實(shí)現(xiàn)生成帶二維碼圖片并強(qiáng)制下載功能》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于php實(shí)現(xiàn)生成帶二維碼圖片并強(qiáng)制下載功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 女人把腿伸开让男人桶肌肌| 朝鲜族女人做爰| 欧美日韩在线观看区一二| 主人能不能把姜拿出来作文| 衡水市| 日本无翼乌全彩j奶无遮挡漫| 性bbbb妇女激情| 国产精品被窝福利一区| 日韩亚洲变态另类中文| 日本精品一区二区三区四区使用方法 | 亚洲黄色录像| 一级毛片真人免费播放视频| 男女黄色插插插| 日日碰| 国产老妇xxxxxbb亚洲老妇| 偷拍大众浴池女性洗澡| 久久久久久拍拍拍| 粗大公么中文字幕| xxxenxxx18中国| 小sao货夹得真紧好爽视频| 欧美三大片理论免费视频在线观看 | 亚洲精品视频免费在线观看| 蜜乳AV视频免费观看| 股间白浊失禁跪趴老师| 91在线精品| 真人做爰高潮全过程毛片 | 成年女人免费视频播放成年m| 国防科大回应近期网络传闻| 国产亚洲精品久久久久久精品桃花岛| 两个男人一起要我好爽| 欧美日韩一区二区在线观看| 午夜?天堂一区二区三区| 一级做a爰片久久毛片A片冒白浆| 美女很黄很黄的视频| 情趣超市| 又黄又刺激好看的小说A毛片| 日本无码吃奶揉捏奶视频| 啊~嗯短裙直接进去h师生| 中国大陆一级毛片免费| 欧美日韩免费无码AAA17c| 污黄色软件下载|