在数据库和文件目录codeigniter上载图像

时间:2012-09-11 07:42:58

标签: file codeigniter upload

这是我的控制器main.php这是在目录中上传我要在数据库中存储相同文件名的文件并按名称检索图像。你可以说是解决方案代码或编辑我的代码真的需要代码

<?php

       class Main extends CI_controller{ // mian controller

            function index(){
           $this->load->view('main_view.php', array('error'=>''));

                            }
            function upload(){ // upload function for image



                         $config['upload_path'] = './images/'; //directory
                         $config['allowed_types'] = 'jpg|jpeg|gif|png';//type allow
                         $this->load->library('upload',$config);

                            if(! $this->upload->do_upload()){

                            $error = array('error'=>$this->upload->display_errors());
                            $this->load->view('main_view',$error);
                                                              }
                                  else
                                        {
        // 

                                     $file_data = $this->upload->data();
                                     $data['img'] = base_url().'/images/'. $file_data['file_name'] ;
                                     $this->load->view('success_msg',$data);



                                         }
                                                    }

                             }
 ?>

这是我的观点main_view.php

 <html>
    <body>

       <? echo $error;?>

       <? echo form_open_multipart('main/upload'); ?>
           <input type="file" name="userfile" />
           <input type="submit" name="submit" value="Upload" />
             <?php echo form_close();?>
    </body>
    </html>

我想在数据库中上传文件名,并且可以轻松检索图像

2 个答案:

答案 0 :(得分:1)

您可以检索图像名称:$this->upload->file_name

编辑:

您的代码中存在一些错误。

1)此$this->load->view('main_view.php', array('error'=>''));应为$this->load->view('main_view', array('error'=>''));,不带.php扩展名。

2)CI_controller应为CI_Controller

答案 1 :(得分:0)

您可以使用这些简单的代码行上传文件夹中的文件并获取文件名并将其存储在数据库中。

$image_path = '../../test_images/'.$_FILES['question_image']['name'];

if(is_uploaded_file($_FILES['question_image']['tmp_name']))
{
  move_uploaded_file($_FILES['question_image']['tmp_name'], $image_path) ;  
}           

$image_url = "test_images/".$_FILES['question_image']['name'];  

$ image_path是您要上传文件的网址,$ image_url将包含您要存储到数据库中的网址

现在您可以通过
检索图像

<img src="<?base_url($image_url)?>" />