0

I aam new to codeigniter, can any one tell me how do we can upload multiple files to the server at a same time with different names in codeigniter.

4

2 に答える 2

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 メソッドではありません。これが役に立てば幸いです!

于 2013-02-14T05:23:25.103 に答える
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 ユーザー ガイドユーザー ガイドをお読みください。

于 2013-02-14T05:36:10.813 に答える