在php codeigniter

时间:2017-11-23 02:04:36

标签: php codeigniter

我在php codeigniter上显示上传的图片时出现问题:

将图像上传到数据库后,当我尝试在网站上显示图像时,会破坏多张图像。我做错了什么?

这是我的控制器

public function prosesupload(){

            $config['upload_path']          = './gambar/';
            $config['allowed_types']        = 'gif|jpg|png|pdf|docx';
            $config['max_size']             = 10000;
            $config['max_width']            = 5000;
            $config['max_height']           = 5000;

            $this->load->library('upload', $config);

            if ( ! $this->upload->do_upload())
            {
                   echo 'fail to upload';
            }
            else
            {
                $img = $this->upload->data();
                $gambar = $img['file_name'];




                $data = array(


                'certificates_img' => $gambar,

                );
            $this->db->insert('certificate', $data);
            redirect('certificate/index');
            }

    }

这是我的模特

var $table="certificate";

public function getCertificate($table)

    {
    $data = $this->db->get($table);
    return $data->result_array();
    }   

这是我的观点

<div class="content" >
<br>
<center>
<table>
            <?php
            foreach($certificate as $key){
            ?>
            <tr>
            <div class="box"  id="" style=";">
                <td><img src="<?php echo base_url('/gambar/'.$key-
              >certificates_img) ?> " width="80%" height="800px" ><br><br>
                </td>

            </div>

            <?php } ?></tr>
        </table>
        <p align="center"><?php echo $links; ?>
 </center>          

1 个答案:

答案 0 :(得分:0)

您正在使用result_array()返回getCertificate(),因此您可以通过$key['certificates_img']访问其值,如果您想要将其作为对象访问,那么您现在必须返回result()

使用您的方法可以执行此操作:

视图的控制器方法:

function certificateV()
{
    $data['certificate'] = $this->db->get('certificate')->result_array();
    $this->load->view('certificateView', $data);
}

certificateView:

<div class="content">
    <br>
    <center>
        <table>
            <?php
            foreach ($certificate as $key) {
                ?>
                <tr>
                    <div class="box"  id="" style=";">
                        <td><img src="<?php echo base_url('/gambar/' . $key['certificates_img']); ?> " width="80%" height="800px" ><br><br></td>
                    </div>
                </tr>
            <?php } ?>
        </table>
        <p align="center"><?php echo $links; ?>
    </center>    

注意:稍微清理了一下代码,结束循环</tr>超出了foreach的范围。