2012-09-11 55 views
-3

這是我的控制器main.php這是上傳目錄中的文件我想要在數據庫中存儲相同的文件名並通過名稱檢索圖像。你可以告訴是解決代碼或編輯我的代碼真正需要的代碼在數據庫和文件目錄codeigniter上傳圖像

<?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> 

我想在數據庫上傳的文件名,並可以很容易地檢索圖像

回答

1

您可以檢索圖像名稱問心無愧:$this->upload->file_name

編輯:

您的代碼中存在一些錯誤。

1)這個$this->load->view('main_view.php', array('error'=>''));應該是$this->load->view('main_view', array('error'=>''));沒有.php擴展名。

2)CI_controllerCI_Controller

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將包含你要存儲到數據庫中的URL鏈接

現在你可以檢索由

圖像
<img src="<?base_url($image_url)?>" /> 
+1

他已經上傳了具有正確的CodeIgniter類的圖像。 –

相關問題