国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php生成二維碼不保存服務器還有下載功能的實現代碼

php生成二維碼不保存服務器還有下載功能的實現代碼

2019-09-14 21:26PHP小白iiiiiiiiii PHP教程

這篇文章主要介紹了php生成二維碼不保存服務器還有下載功能的實現代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

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

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

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

2.調用encodePNG方法

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

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

5.前端通過img標簽輸出

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

調用phpqrcode代碼如下

/**
 * 活動二維碼生成
 * @param $text 參數$text表示生成二位的的信息文本;
 * @param $outfile 參數$outfile表示是否輸出二維碼圖片 文件,默認否;
 * @param string $level 參數$level表示容錯率,也就是有被覆蓋的區域還能識別,分別是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);
 * @param int $size 參數$size表示生成圖片大小,默認是3;參數$margin表示二維碼周圍邊框空白區域間距值;
 * @param int $margin
 * @param bool $saveandprint 參數$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 會覆蓋此header頭,所以要重新聲明一下,否則解析不了html代碼。
    return "data:image/png;base64,".$imageString;//返回拼接好的串
  } catch (Exception $e) {
    QRtools::log($outfile, $e->getMessage());
  }
}

總結

以上所述是小編給大家介紹的php生成二維碼不保存服務器還有下載功能的實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久免费视频观看 | 久久精品一区二区 | av电影在线免费 | 欧美精品一区二区三区手机在线 | 在线二区 | 成人精品国产一区二区4080 | 羞羞视频免费 | 亚洲免费一区 | 中文字幕三区 | 久久男人网 | 欧美中文字幕一区二区三区亚洲 | 亚洲精品日本 | 欧美中文字幕在线 | 久久精品国产99 | 性色av一区二区三区红粉影视 | 欧美性久久 | 超碰8| 天堂资源在线 | 免费国产一区 | 国产一区二区三区视频 | 操操操av| 黄色视屏免费在线观看 | 亚洲精品免费视频 | 日本一区二区三区四区 | 91中文在线 | 91精品国产91久久久久久吃药 | 国产综合视频在线观看 | 一区二区三区精品 | 日韩精品小视频 | 一色屋精品久久久久久久久久 | 国产伦精品一区二区三区四区视频 | 北条麻妃一区二区三区在线观看 | 国产第一区在线 | 久久久精品一区二区 | 99re热精品视频 | 我和我的祖国电影在线观看免费版高清 | 一区二区三区视频在线观看 | 天堂99x99es久久精品免费 | 精品福利一区二区三区 | 四虎影视在线播放 | 精品久久久久久久久久久 |