2013-03-27 134 views
5

我編寫了上傳圖像文件的代碼。但它始終顯示You did not select a file to upload.這是我的代碼。Codeigniter文件上傳不起作用

視圖

<?php echo form_open_multipart('template/advertisement', array('id' => 'template-add-form', 'class' => 'form-horizontal')); ?> 
    <?php echo form_fieldset('Add Advertisement', array('class' => '')); ?> 
    <div class="control-group"> 
     <label class="control-label" for="add_l">Left Advertisement </label> 
     <div class="controls"> 
      <input type="file" name="add_l"/> 
     </div> 
    </div> 
    <div class="control-group"> 
     <div class="controls"> 
      <input type="submit" name="add" value="Update Advertisement" class="btn btn-primary" /> 
     </div> 
    </div> 
    <?php echo form_fieldset_close(); ?> 
<?php echo form_close(); ?> 

控制器

public function advertisement() 
    { 
     $headerData = array(); 
     $headerData['title'] = ucfirst('Advertisement'); 

     $data = array(); 

     if ($this->input->post() !== FALSE) { 
      $config = array(); 
      $config['upload_path'] = './images/add'; 
      $config['allowed_types'] = 'gif|jpg|png'; 
      $config['max_size'] = '100'; 
      $config['max_width'] = '1024'; 
      $config['max_height'] = '768'; 
      $config['max_filename'] = '100'; 

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

      if ($this->upload->do_upload()) { 
       $data['message'] = $this->upload->data();      
      } else { 
       $data['error'] = $this->upload->display_errors('<div class="alert alert-error">', '</div>');     
      } 
     } 

     $this->load->view('template/header.php', $headerData); 
     $this->load->view('template/advertisement.php', $data); 
     $this->load->view('template/footer.php');  
    } 

請幫助我。

回答

13

在你的PHP變化

$this->upload->do_upload() 

$this->upload->do_upload("add_1") 

其中 「add_1」 是你輸入的名稱屬性。

Codeigniter UPLOAD library docs

附:在您的HTML中,=「」的標籤屬性定位輸入ID,因此您必須將id添加到輸入中。

+0

它並沒有爲我工作:(無法找出確切的問題。檢查文件夾的權限以及。沒有成功.. – VishalParkash 2016-11-10 08:21:41

+0

@VishalParkash更好地在你的代碼的例子中作出新的問題..評論它不工作不會幫你 – Svetoslav 2016-11-10 08:47:44

+0

行..但是我的代碼看起來完全一樣,這就是爲什麼我認爲我應該發表評論,否則我正在創建另一個問題。無論如何..我使用CorePHP風格上傳文件。 – VishalParkash 2016-11-10 10:51:46

0

我最近得到了這個問題,並解決它。你可以檢查在PHP模塊fileinfo已經上?如果您可以訪問CPanel,則可以進入SOFTWARE TAB,然後搜索Select PHP Version,然後可以看到模塊列表並檢查該模塊的fileinfo。並嘗試再次上傳。