首页 > 解决方案 > 二维码已生成但未显示在页面上

问题描述

在此处输入图像描述

查看 (HTML)

<tbody> 
  <?php foreach ($order_data as $key => $value): ?>
    <tr>
      <td> <?php echo $value['id'] ?> </td>
      <td> <img src="<?php echo base_url('z_ex/v_1/render/generateQRcode/'.$value['id']) ?>" alt="..."> </td>
    </tr>
  <?php endforeach; ?>
</tbody>

控制器(脚本)

<?php defined('BASEPATH') or exit('No direct script access 
 allowed');
 ini_set('display_errors', 1);
 error_reporting(E_ALL);

 require "vendor/autoload.php";
 use Endroid\QrCode\QrCode;

class Render extends Admin_Controller
{

    public function __construct()
    {
        parent::__construct();

        $this->not_logged_in();
    }

    public function index(){

        if (!in_array('viewOrder', $this->permission)) {
            redirect('z_ex/v_1/dashboard', 'refresh');
        }

        $data = $this->model_orders->getOrdersTrackingNum();
        $this->data['data'] = $data;
        $this->load->view('render', $this->data);

    }

    public function generateQRcode($bill_no = 123456) {

        $qr = new QrCode("HEy there");
        header('Content-Type: '.$qr->getContentType());
        echo $qr->writeString();

    }
}

我正在使用 Endroid QrCode 包生成 QR 码,它以这种方式显示(如图所示),没有错误,没有警告,只有黑色背景和一个白色的小方块。,我将输出更改为写入文件并保存,IT WORKS。但我不想保存它,我只想在动态调用它时显示它,就是这样。从图像右侧可以看到,标题设置为 image/png。

标签: phpcodeigniterqr-code

解决方案


最后通过添加data:image/png;base64到 HTML 中的srcof解决了这个问题img tag,它起作用了。

谢谢大家。


推荐阅读