2010-07-19 39 views
6

Tôi chắc chắn điều này là đơn giản nhưng tôi không thể xem làm thế nào để làm cho tải lên một tập tin với CI tùy chọn.tải lên tệp tin mã hóa - tùy chọn?

Nếu bạn để trống hộp nhập tệp, lỗi "Bạn không chọn tệp tải lên" xuất hiện.

Lý do tôi muốn tùy chọn là biểu mẫu của tôi chỉnh sửa danh sách loại thư mục và tôi không cần tải lên hình ảnh mỗi khi tôi chỉnh sửa danh sách.

Có cách nào để loại bỏ các "yêu cầu" xử lý lỗi trên lớp tập

Trả lời

13

Sử dụng như sau:

<?php if ($_FILES AND $_FILES['field_name']['name']) 
{ 
    // Upload the file 
} 
+4

sử dụng nó ở đâu? tại sao nó khó khăn như vậy để gõ một chút nữa để giải thích nơi nó đi ... – serdarsenay

+0

Tôi chắc chắn trong bộ điều khiển, trước khi codeigniters tải lên rutine được gọi là. – Kyslik

2

tập tin tải lên CodeIgniter tùy chọn ... hoạt động hoàn hảo .... . :)

khiển ---------- ---------

function file() 
{ 
$this->load->view('includes/template', $data); 
} 

function valid_file() 
{ 
$this->form_validation->set_rules('userfile', 'File', 'trim|xss_clean'); 

if ($this->form_validation->run()==FALSE) 
{ 
    $this->file(); 
} 
else 
{ 
    $config['upload_path'] = './documents/'; 
    $config['allowed_types'] = 'gif|jpg|png|docx|doc|txt|rtf'; 
    $config['max_size']  = '1000'; 
    $config['max_width']  = '1024'; 
    $config['max_height'] = '768'; 

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

    if (!$this->upload->do_upload('userfile',FALSE)) 
    { 
    $this->form_validation->set_message('checkdoc', $data['error'] = $this->upload->display_errors()); 

    if($_FILES['userfile']['error'] != 4) 
    { 
     return false; 
    } 

    } 
    else 
    { 
    return true; 
    } 
} 

tôi chỉ sử dụng dòng này mà làm cho nó tùy chọn,

if($_FILES['userfile']['error'] != 4) 
{ 
return false; 
} 

$_FILES['userfile']['error'] != 4 is for file required to upload. 

bạn u có thể làm cho nó unneccessory bằng cách sử dụng $_FILES['userfile']['error'] != 4, sau đó nó sẽ vượt qua lỗi này cho tập tin cần thiết và hoạt động tốt với các loại sai sót nếu có bằng cách sử dụng trở lại sai, hy vọng nó hoạt động cho u ....

+2

Bạn có thể giải thích ý nghĩa của '4' và bạn đã nhận được điều này từ đâu? – Sparky

0

sử dụng mã này trong bộ điều khiển trước khi gọi do_upload()

if (is_uploaded_file($_FILES['field_name']['tmp_name'])) { 
    // your code here 
} 
Các vấn đề liên quan