2014-01-13 63 views
0

我在一個項目中使用CodeIgniter幾個星期(所以要溫柔),並且在上傳圖片時遇到了一些困難。我將Uploads文件夾放置在根文件夾中,並具有以下代碼。Codeigniter Image上傳

無論好壞,我一直跟着一個教程,努力嘗試和學習在實現此功能的同時。

控制器:

public function upload(){ 

     $config['upload_path'] = "/uploads"; 
     $config['allowed_types'] = "jpg|jpeg|gif|png|bmp"; 
     $this->load->library('upload', $config); 

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

      echo "it worked"; 

      $finfo=$this->upload->data(); 
      $this->_createThumbnail($finfo['file_name']); 
      $data['uploadInfo'] = $finfo; 
      $data['thumbnail_name'] = $finfo['raw_name']. '_thumb' .$finfo['file_ext']; 
      $this->load->view('project_success'); 

     } else {echo "it didn't work";} // This is what I end up getting 

    } 

    public function _createThumbnail($filename){ 

     $config['image_library'] = "gd2";  
     $config['source_image']  = "/uploads" .$filename;  
     $config['create_thumb']  = TRUE;  
     $config['maintain_ratio'] = TRUE;  
     $config['width'] = "120";  
     $config['height'] = "80"; 
     $this->load->library('image_lib',$config); 
    } 

}

視圖:

<?php echo form_open_multipart('build/upload');?> 
<div class="row"> 
    <div class="large-12 columns"> 
     <span class="number left">3</span> 
     <h3>Project Images</h3> 
    </div> 
    <div class="large-1 columns"></div> 
    <div class="large-10 large-centered columns"> 
     <div class="row"> 
      <div class="large-8 columns"> 
        <label for="file">Add Images...</label> 
        <input type="file" name="file" id="file"><br> 
        <input class="button secondary radius wide right" type="submit" name="submit" value="Submit"> 
       <br/> 

      </div> 
     </div> 
    </div> 
    <div class="large-1 columns"></div> 
</div> 

<br/><br/> 

這些不是以它們的整體 - 我試圖僅包括分別相關的代碼的部分我的問題。如果你想讓整個視圖和控制器讓我知道。

任何人都可以提供任何幫助/建議嗎?我會非常感激!

+0

您是否檢查了error_log?這可能與上傳文件夾的權限一樣簡單 –

+0

我確實在終端(777) – user2653658

+0

中更改了文件夾權限,在'else'條件下使用'display_errors()'功能 –

回答

0

試試這個$this->upload->do_upload('file');

$imgUpload1 = array('upload_data1' => $this->upload->data()); 

代替$finfo=$this->upload->data();

然後寫var_dump($imgUpload1['upload_data1']);看到的值。

讓我知道它是否有效;

+0

它只是說NULL – user2653658

+0

檢查您要上傳的圖片是否上傳。如果不是,也許錯誤是因爲您無法訪問該文件夾。換句話說,do_upload()函數,將圖像上傳到您的項目並upload-> data(),獲取有關上傳圖像的所有數據。現在讓我們做點什麼,在你的項目中創建一個新的文件夾調用內容,而不是進入應用程序文件夾所以你將有三個文件夾,應用程序,內容和系統。然後寫這個$ config ['upload_path'] ='content';只需要替換你所擁有的那個。再試一次!!! –