2013-02-14 106 views

回答

1

创建多个文件上传表单。这里我参考upload方法users控制器。

<form method="post" action="<?php echo base_url('users/upload/'); ?>" enctype="multipart/form-data"> 
    <label for="upload">Select : </label> 
    <input type="file" name="upload[]" id="upload" multiple="multiple" /> 
    <input type="submit" name="fsubmit" id="fsubmit" value="Upload" /> 
</form> 

并将下面的代码写入您的upload方法中。

public function upload() 
{ 
    if (isset($_FILES['upload']['name'])) { 
     // total files // 
     $count = count($_FILES['upload']['name']); 
     // all uploads // 
     $uploads = $_FILES['upload']; 

     for ($i = 0; $i < $count; $i++) { 
      if ($uploads['error'][$i] == 0) { 
       move_uploaded_file($uploads['tmp_name'][$i], 'storage/' . $uploads['name'][$i]); 
       echo $uploads['name'][$i] . "\n"; 
      } 
     } 
    } 
} 

目录storage就是例子。您可以移动您选择的文件。 注意它不是纯粹的CodeIgniter方法用于多文件上传。希望这有助于感谢!

0

您可以上传不同名称的文件中,鉴于以下方式

<?php echo form_open_multipart('upload/do_upload');?> 

<input type="file" name="userfile1" size="20" /> 

<input type="file" name="userfile2" size="20" /> 

在控制器只是通过字段名do_upload方法

function do_upload() 
    { 

    $this->upload_file('userfile1'); 
    $this->upload_file('userfile2'); 

      $this->load->view('upload_form', $error); 
    } 

function upload_file($field_name){ 
     $config['upload_path'] = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = '100'; 
     $config['max_width'] = '1024'; 
     $config['max_height'] = '768'; 

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

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

     } 
     else 
     { 
      $data = array('upload_data' => $this->upload->data()); 

     } 
    } 

的更多信息,请阅读CI用户指导User guide

相关问题