图片显示了来自变量PHP CodeIgniter的特定文件名和目录


Image showing with specific file name and directory from variable - PHP CodeIgniter

我有这个函数:

public function tambah($reg)
{
    $regs = (object) $reg;
    $id = $this->insert_registrasi_data($regs);
    $code = $this->barcode($regs->No_Registrasi);
    if($id){
        $data_session = array (
            'No_reg' => $regs->No_Registrasi,
            'Nama' => $regs->Nama_CTKI,
            'Negara' => $this->format_idNegara_namaNegara($regs->ID_Negara),
            'Jenis_Kelamin' => $regs->Jenis_Kelamin,
            'Umur' => date('Y') - date('Y', strtotime($regs->Tanggal_Lahir)),
            'Code' => $code
            );
        $this->session->set_userdata($data_session);
        return true;
    }
    return false;
}

数据会话("代码")是此函数生成的文件名:

public function barcode($bcode)
{
    //load library
    $this->load->library('zend');
    //load in folder Zend
    $this->zend->load('Zend/Barcode');
    //generate barcode
    //Zend_Barcode::render('code39', 'image', array('text'=>$bcode));
    $imageResource = Zend_Barcode::draw('code128', 'image', array('text'=>$bcode), array());
    $code = time().$bcode;
    $store_image = imagepng($imageResource,"./asset/barcode/{$code}.png");
    return $code;
}

这些代码运行良好,图像保存正确。我要做的是加载保存的图像。这是我当前在视图文件中的代码:

<img src="./asset/barcode/"<?php $this->session->userdata('Code'); ?>".png"

任何帮助都将不胜感激。

我认为你应该回显用户数据,我建议你尝试以下操作:

在功能中:

$store_image = imagepng($imageResource,base_url("asset/barcode/{$code}.png"));

在视图中:

<img src="<?php echo base_url('asset/barcode/'.$this->session->userdata('Code').'.png'; ?>" />

这样你就没有'&"冲突,base_url()使代码更加可重用。假设你的项目是这样的:

/codeigniter_folder/assets/barcode/

希望它能帮助