婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > php生成二維碼不保存服務(wù)器還有下載功能的實(shí)現(xiàn)代碼

php生成二維碼不保存服務(wù)器還有下載功能的實(shí)現(xiàn)代碼

熱門標(biāo)簽:宿州正規(guī)外呼系統(tǒng)軟件 桂陽公司如何做地圖標(biāo)注 合肥企業(yè)外呼系統(tǒng)線路 電信外呼系統(tǒng)多少錢一個(gè)月 神龍斗士電話機(jī)器人 企業(yè)400電話辦理多少費(fèi)用 代理打電話機(jī)器人 萍鄉(xiāng)商鋪地圖標(biāo)注 太原400電話申請(qǐng)流程

有個(gè)大坑:在phpqrcode類里QRimage::png會(huì)重新定義header為header('content-type : img/png')

此header頭解析不了html代碼,所以在返回完后直接是一張二維碼別的代碼起不了任何作用,所以要返回完之后再重新聲明一下header為header('Content-Type:text/html;charset=utf-8');,我在下邊代碼中聲名過了,標(biāo)紅的就是

1.引入phpqrcode類(php操作二維碼類)

2.調(diào)用encodePNG方法

3.修改encodePNG方法( 加入ob緩存,返回)base64加密后的圖片流

4.將加密后的圖片流返回給前端

5.前端通過img標(biāo)簽輸出

6.下載功能:超鏈接直接加上 download="圖片名稱"

調(diào)用phpqrcode代碼如下

/**
 * 活動(dòng)二維碼生成
 * @param $text 參數(shù)$text表示生成二位的的信息文本;
 * @param $outfile 參數(shù)$outfile表示是否輸出二維碼圖片 文件,默認(rèn)否;
 * @param string $level 參數(shù)$level表示容錯(cuò)率,也就是有被覆蓋的區(qū)域還能識(shí)別,分別是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);
 * @param int $size 參數(shù)$size表示生成圖片大小,默認(rèn)是3;參數(shù)$margin表示二維碼周圍邊框空白區(qū)域間距值;
 * @param int $margin
 * @param bool $saveandprint 參數(shù)$saveandprint表示是否保存二維碼并顯示。
 */
include_once(ROOT_PATH . '/protected/components/phpqrcode.php');
$link = LinkUrlHelper::getUrl(Yii::app()->user->eid,'ACTIVE_DETAIL',$id);
$h5Url = $link['h5'];
$baseImg = QRimage::encodePNG($h5Url,false);
$this->renderPartial('training_code',['img'=>$baseImg]);

修改后的encodePNG方法

public function encodePNG($intext, $outfile = false,$saveandprint=false) 
{
  try {
    ob_start();
    $tab = $this->encode($intext);
    $err = ob_get_contents();
    ob_end_clean();
    if ($err != '')
      QRtools::log($outfile, $err);
    $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin));
    ob_start();//開啟ob緩存
    QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint);
    $imageString = base64_encode(ob_get_contents());//將圖片流存入緩存并加密賦值給變量
    ob_end_clean();//清楚ob緩存
    header('Content-Type:text/html;charset=utf-8');// QRimage::png 會(huì)覆蓋此header頭,所以要重新聲明一下,否則解析不了html代碼。
    return "data:image/png;base64,".$imageString;//返回拼接好的串
  } catch (Exception $e) {
    QRtools::log($outfile, $e->getMessage());
  }
}

總結(jié)

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

您可能感興趣的文章:
  • php+laravel 掃碼二維碼簽到功能
  • Thinkphp使用Zxing擴(kuò)展庫解析二維碼內(nèi)容圖文講解
  • PHP實(shí)現(xiàn)一個(gè)二維碼同時(shí)支持支付寶和微信支付的示例
  • PHP基于phpqrcode類生成二維碼的方法示例詳解
  • PHP基于phpqrcode類庫生成二維碼過程解析
  • thinkphp3.2框架集成QRcode生成二維碼的方法分析
  • PHP生成二維碼與識(shí)別二維碼的方法詳解【附源碼下載】
  • PHP二維碼的生成與識(shí)別案例

標(biāo)簽:廊坊 太原 綏化 崇左 衡陽 辛集 鄂州 白銀

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php生成二維碼不保存服務(wù)器還有下載功能的實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  php,生成,二維,碼不,保存,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php生成二維碼不保存服務(wù)器還有下載功能的實(shí)現(xiàn)代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于php生成二維碼不保存服務(wù)器還有下載功能的實(shí)現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 吴旗县| 玛纳斯县| 临沭县| 门头沟区| 政和县| 万盛区| 西峡县| 长阳| 常宁市| 达日县| 云浮市| 武宣县| 县级市| 洛宁县| 江源县| 五指山市| 平山县| 井冈山市| 冷水江市| 泽普县| 嘉黎县| 延庆县| 静海县| 大宁县| 东丽区| 专栏| 布拖县| 沭阳县| 靖江市| 亚东县| 宜州市| 乌什县| 日喀则市| 乌兰浩特市| 玛多县| 中西区| 津南区| 滦南县| 绥江县| 陆河县| 延川县|