找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 2183|回复: 0

[原生PHP] phpqrcode 生成的图片转为 base64 格式输出

[复制链接]

466

主题

48

回帖

0

广播

论坛版主

积分
200
泰拉
0
水晶
0
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【宝剑回鞘】【泰拉达人】【奥运选手】

发表于 2020-6-26 18:52:39 | 显示全部楼层 |阅读模式
项目中需要用到phpqrcode生成二维码,但是通过QRcode::png()生成的是显示输出当前的照片流,这样就不适用于列表显示多个二维码的需求了。网上也有相关的一些解决方案:通过把照片流缓存,然后进行base64编码。
找到生成图片用到了QRimage类的png方法,去除里面的:Header(“Content-type: image/png”);即可。



  1. class QRimage {
  2.    
  3.         //----------------------------------------------------------------------
  4.         public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE)
  5.         {
  6.             $image = self::image($frame, $pixelPerPoint, $outerFrame);
  7.             
  8.             if ($filename === false) {
  9.                 // Header("Content-type: image/png");
  10.                 ImagePng($image);
  11.             } else {
  12.                 if($saveandprint===TRUE){
  13.                     ImagePng($image, $filename);
  14.                     header("Content-type: image/png");
  15.                     ImagePng($image);
  16.                 }else{
  17.                     ImagePng($image, $filename);
  18.                 }
  19.             }
  20.             
  21.             ImageDestroy($image);
  22.         }
复制代码
如此,不再让输出端整个页面变为图片类型,解决方案并不完美,但是能达到我的目的即可。 附调用端代码:


  1. <?php
  2. global $_W,$_GPC;
  3. function getqrcode($url){
  4.     require_once MODULE_ROOT.'/lib/phpqrcode_web.php';
  5.     $value = $url;         //二维码内容
  6.     $errorCorrectionLevel = 'L';  //容错级别
  7.     $matrixPointSize = 5;      //生成图片大小
  8.     //生成二维码图片
  9.     ob_start();
  10.     QRcode::png($value,false,$errorCorrectionLevel, $matrixPointSize, 2);
  11.     $imgstr = base64_encode(ob_get_contents());
  12.     ob_end_clean();
  13.     return $imgstr;
  14.   }

  15.   //调用查看结果
  16.   include $this->template('web/test');
  17. ?>
复制代码




[发帖际遇]: 慕芷涵 捡了钱没交公 泰拉 降了 9 . 幸运榜 / 衰神榜
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-5-20 05:14 , Processed in 0.128310 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表