2016-01-12 6 views
0

Надеюсь, кто-то может мне помочь. Всякий раз, когда я загружаю файл с неправильным форматом и представляю форму, должна появиться ошибка. Однако после передачи нескольких переменных обратно в представление с моего контроллера ни одна из ошибок, похоже, не появляется. Спасибо.Не удается загрузить файл с сообщением об ошибке. CodeIgniter

Controller Код:

function upload() 
{ 
    $this->load->library('pagination'); 
    //the name on the view must be userfile 
    $username = $this->session->userdata('username'); 
    $company = $this->session->userdata('company'); 
    $title = $this->input->post('title'); 
    $description =$this->input->post('description'); 
    $path = './assets/files/'.$company.'/announcements'; 
    $config['upload_path'] = $path; 
    $config['allowed_types'] = 'pdf'; 
    $config['max_size'] = '10000'; 
    $this->load->library('upload',$config); 


    $this->load->model('announcement'); 
    $this->load->library('pagination'); 
    $config['per_page']=5; 
    if(!$this->upload->do_upload()) 
    { 

     //$error = array('error'=>$this->upload->display_errors()); 
     $data = array(
     'announcement' => $this->announcement->fetch_announcement($username,$company,$config['per_page'],$this->uri->segment(3)), 
     'links' => $this->pagination->create_links(), 
     'error' => $this->upload->display_errors() 
     ); 
     print_r($this->upload->display_errors()); 
     $this->load->view('includes/admin_header'); 
     $this->load->view('announcements',$data); 
     $this->load->view('includes/admin_footer'); 
     //redirect('announcements/index'); 
    } 
    else 
    { 
     $data = array(
     'announcement' => $this->announcement->fetch_announcement($username,$company,$config['per_page'],$this->uri->segment(3)), 
     'links' => $this->pagination->create_links(), 
     'error' => $this->upload->display_errors() 
     ); 
     $file_data = array('upload_data' => $this->upload->data()); 
     $result = $this->announcement->create($insert); 
     //$this->load->view('includes/admin_header'); 
     //$this->load->view('announcements',$data); 
     //$this->load->view('includes/admin_footer'); 
     redirect('announcements/index'); 
    } 

} 

View Code:

<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> 
<table class="table"> 
<thead> 
    <tr> 
    <th>No.</th> 
    <th>Title</th> 
    <th>Description</th> 
    <th>Added By</th> 
    <th>Company</th> 
    <th>Date Added</th> 
    <th>Publish</th> 
</tr> 

<?php $offset = $this->uri->segment(3,0)+1; ?> 
<?php foreach($announcement as $row): ?> 
<tr> 
<td><?php echo $offset++; ?></td> 
<td><?php echo $row->title; ?></td> 
<td><?php echo $row->description; ?></td> 
<td><?php echo $row->addedby; ?></td> 
<td><?php echo $row->company; ?></td> 
<td><?php echo $row->dateadded; ?></td> 
<td><?php echo $row->published; ?></td> 
<?php endforeach; ?> 
</tr> 
</tbody> 

</table> 
<?php echo $links; ?> 
</div> 


<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> 
<?php $error = ''; ?> 
<h2>Add an announcement</h2> 
<?php echo form_open_multipart('announcements/upload'); ?> 
<p>Title : <input type="text" name="title"/></p> 
<p>Description : 
<textarea style="resize:none;" maxlength="200" row="20" cols="20"  name="description"></textarea> 
</p> 
<p>Upload file :<input type="file" name="userfile"> </p> 
<p><input type="submit" name="submit" value="Upload"></p> 
</form> 
<?php echo $error; ?> 
</div> 
+0

Я понял, что это создает форму повторно вопросы, а также. – JianYA

+1

попробуйте этот print_r ($ this-> upload-> display_errors()); что-то кажется ошибкой? – msvairam

+0

Да, да. Появится сообщение об ошибке. Однако почему не возникает ошибка, которую я посылаю от контроллера к представлению? Есть ли способ обнаружить это? – JianYA

ответ

1

Пожалуйста, обратитесь ниже код: -

if (! $this->upload->do_upload()) 
     { 
      $error = array('error' => $this->upload->display_errors()); 

      $this->load->view('upload_form', $error); 
     } 
     else 
     { 
      $data = array('upload_data' => $this->upload->data()); 

      $this->load->view('upload_success', $data); 
     } 

Ref: https://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html

Дайте мне знать, если это не поможет.

0

Удалить ниже запуск кодирования

<?php $error = ''; ?> 

в объявлениях просмотра файла

Смежные вопросы