2016-04-07 11 views
3

2イメージを別々にアップロードしたいと思います。私はファイルといくつかの時間をいくつかの時間のみをアップロードする必要がある状態を持っている私は画像とファイルの両方を区別する方法を別のボタンを使用する必要があります。2つの別々のイメージをcodeigniterにアップロードするには

私のコードは

<form action="http://localhost/cod_login/club/test2" enctype="multipart/form-data" method="post" accept-charset="utf-8"> 
    <input type="file" name="userfile" size="20"> 
    <input type="file" name="userfile" size="20"> 
    <input type="submit" name="submit" value="upload"> 
</form> 

あり、これはあなたが2つの異なるファイルのボタンをしたい場合は、それぞれに異なる名前を付ける必要があるコントローラ

function ddoo_upload(){ 
    $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()) { 
     $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); 
    } 
} 
+0

ファイルアップロードボタンを1つだけ使用し、ボタンに 'multiple =" multiple ""属性を追加して、サーバー側のファイルタイプを区別することができます。 – sahil

+0

いいえ2つのボタンが私たちのクライアントの要件である1つではありません –

+0

この[回答](http://stackoverflow.com/a/4237161/3863146)を見て、ファイルの種類に基づいてアップロードできます。 – sahil

答えて

0

です。私たちは、変数として$ファイル名を渡し、別のファイルをアップロードするためにそれを使用するよりもされています。あなたはあなたの関数を変更するために持っているよりも

<form action="" enctype="multipart/form-data" method="post" accept-charset="utf-8"> 
<input type="file" name="userfile1" size="20"> 
<input type="file" name="userfile2" size="20"> 
<input type="submit" name="submit" value="upload"> 

function ddoo_upload($filename){ 
$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($filename)) { 
    $error = array('error' => $this->upload->display_errors()); 
return false; 
// $this->load->view('upload_form', $error); 
} else { 
$data = array('upload_data' => $this->upload->data()); 
return true; 
//$this->load->view('upload_success', $data); 
} 

}

NOTE以下のようにddoo_upload 。

ここで、フォームアクションがリダイレクトされているコントローラで、以下のコードを記述する必要があります。

if ($this->input->post('submit')){ 
if (isset($_FILES['userfile1']) && $_FILES['userfile1']['name'] != ''){ 
    $file1 = $this->ddoo_upload('userfile1'); 
} 

if (isset($_FILES['userfile2']) && $_FILES['userfile2']['name'] != ''){ 
    $file2 = $this->ddoo_upload('userfile2'); 
} 

}

0
<form action="http://localhost/cod_login/club/test2" enctype="multipart/form-data" method="post" accept-charset="utf-8"> 


<input type="file" name="userfile" size="20" multiple=""> 
<input type="submit" name="submit" value="upload"> 
</form> 
+0

私は2つのボタンが1つではなく、 –

+0

と別々に画像をアップロードする必要があります。 –

+0

ひとつの画像にアップロードする必要があります。 –

0

これは私はCodeIgniterのに

パブリック関数インデックス() {

if($this->input->post('Submit')){ 

//-----------Image File Section Start Here -----------// 

$config['upload_path'] = './uploads/'; // Directory 
$config['allowed_types'] = 'jpg|jpeg|bmp|png'; //type of images allowed 
$config['max_size'] = '30720'; //Max Size 
$config['encrypt_name'] = TRUE; // For unique image name at a time 

$this->load->library('upload', $config); //File Uploading library 
$this->upload->do_upload('userfile'); // input name which have to upload 
$video_upload=$this->upload->data(); //variable which store the path 

//--------------End of Image File Section------------------------// 



//---------Thumbnail Image Upload Section Start Here -----------// 

$config2['upload_path'] = './thumb/'; // Directory 
$config2['allowed_types'] = 'jpg|jpeg|bmp|png'; //type of images allowed 
$config2['max_size'] = '30720'; //Max Size 
$config2['encrypt_name'] = TRUE; // For unique image name at a time 


$this->upload->initialize($config2); //we can not use upload library again and again it will not initialize again and again so thats why i have used initialize 
$this->upload->do_upload('txt_thumb'); // File Name 
$thumbnail_upload=$this->upload->data(); // store the name of the file 

//--------End of Thumbnail Upload Section-----------// 



    $date=date("d-m-Y"); // Store current date in variable 

    // Here the database query to insert 

    $data = array(
    'parent_id'=> $this->input->post('txt_parent'), 
    'cat_id' => $this->input->post('txt_category'), 
    'title'=> $this->input->post('txt_title'), 
    'status' => $this->input->post('txt_status'), 
    'featured' => $thumbnail_upload['file_name'], 
    'image' => $video_upload['file_name'], 
    'time'=>$date 
    ); 

     $sql_ins= $this->Insimage->insertimage($data); 
     if($sql_ins) 
     { 
      $data['Success'] = "Image has been succesfully inserted!!"; 
     } 

}

この2枚の画像をアップロードするために適用されている制御コードでありますコードは2つの画像をアップロードするために必ず動作します お楽しみください!!!! :-)