用于在codeignitter中从数据库中选择和回显图像的php代码

时间:2015-11-18 12:50:34

标签: codeigniter

在我的表格中,filename是我从表单插入照片名称的字段名称。

下表中的数据..

id,filename

1 Chrysanthemum.jpg

我的上传文件夹位于root目录中。

表示前 - C:\ wamp \ www \ codeigniter_testapp

在此路径中,我的所有文件夹都在以下结构中。

应用

系统

资产

上传

user_guide

图像名称在表格中成功插入,也在上传文件夹中移动。

但是当我尝试选择它们并在我的视图中显示时,它会显示空白图像图标。

plz帮助我在我看来回应图像。

控制器代码

public function index()
    {           
        $this->select();                
    }           

    public function select()
    {           
        $data['results'] = $this->news_list_model->getAll();
        $this->load->view('list_news',$data);
    }

型号代码

public function getAll()
    {       
        $query = $this->db->get('news_tbl');
        return $query->result();
    }

查看代码

<table>
        <tr>
            <th>Category</th>
            <th>City</th>
            <th>Headline</th>   
            <th>Story</th>  
            <th>Author</th> 
            <th>Photo</th>          
            <th>Edit</th>
            <th>Delete</th>

        </tr>

     <?php foreach($results as $row) { ?>
        <tr>
        <td><?php echo $row->cat_id; ?></td>
        <td><?php echo $row->city_id; ?></td>
        <td><?php echo $row->headline; ?></td>
        <td><?php echo $row->story; ?></td>
        <td><?php echo $row->author; ?></td>    

        <td><img src="<?php echo base_url('uploads/'.$row->filename); ?>" width="50" height="50" alt=""/></td>

        <td></td>
        <td></td>
        </tr>
        <?php } ?>
    </table>

3 个答案:

答案 0 :(得分:0)

这是我用来渲染图像的方法,您可以尝试一下:

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir = "e:/wamp/tmp"

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 64M

在src属性中,您将路径作为典型的codeigniter url传递:

public function images( $image_filename) { $base_path = $this->config->item('images'); $path = $base_path; $details = @getimagesize($path . '/' . basename($image_filename)); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Pragma: no-cache"); header('Content-Type: ' . $details['mime']); @readfile($path . '/' . $image_filename); exit(); }

答案 1 :(得分:0)

试试这个:

<img src="<?php echo base_url().'uploads/'.$row->filename); ?>" width="50" height="50" alt=""/>

答案 2 :(得分:0)

如果您使用的是base_url()函数,请确保正在加载URL Helper。 https://ellislab.com/codeigniter/user-guide/helpers/url_helper.html