传递图像URL以从控制器查看

时间:2015-10-21 21:51:38

标签: php image codeigniter

我目前遇到的情况是,我无法通过正确的线路来显示图像,这是我到目前为止所做的:

控制器

    // Get image URL and alternate text
        $image_filename = "<?php echo base_url('assets/imgs/'". $code ."'.png'); ?>";           
        $page_data['image_filename'] = $image_filename;
        $image_alt = 'Image: ' . $code . '.png';
        $page_data['image_alt'] = $image_alt;

        $this->load->view('common/header'); 
        $this->load->view('top_nav');
        $this->load->view('shop_viewprod', $page_data);
        $this->load->view('common/footer');         
    }   

我必须找到所选产品的图像,这就是为什么我必须使用$ code变量,因为它总是会改变,这就是我如何获得所选当前项目的代码。

然后是视图

    <img src="<?php echo $image_filename; ?>" alt="<?php echo $image_alt; ?>" />

图像的路径是:

资产\ IMGS \ name.png

问题是,如果我在视图中使用它,它会找到图像

   <img src="<?php echo base_url('assets/imgs/fg700s.png'); ?>  " alt="<?php echo $image_alt; ?>" />

只是为了向你展示代码中的两个

    <img src="<?php echo $image_filename; ?>" alt="<?php echo $image_alt; ?>" />
    <img src="<?php echo base_url('assets/imgs/fg700s.png'); ?> " alt="<?php echo $image_alt; ?>" />    

结果:Result

所以我认为它是我制作image_filename变量的方式,以及我如何在视图中使用它,但我不明白它是什么我错过了?

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您没有将变量传递给视图。

加载视图时,您将一个变量$data作为第二个参数传递给$this->load->view()函数。

这可能是一个数组。

您应该在加载视图之前设置$data['image_filename'] = base_url[...]; 之类的密钥。

答案 1 :(得分:0)

所以我玩了更多的alil并想出了这个:

在控制器中:

    $page_data['code'] = $code;         
    $image_alt = 'Image: ' . $code . '.png';
    $page_data['image_alt'] = $image_alt;   

在视图中

    <img src="<?php echo base_url('assets/imgs/'.$code.'.png'); ?>" alt="<?php echo $image_alt; ?>" />

像魅力一样工作。