複数の画像をアップロードするアップロード スクリプトを作成しました。これはうまく機能していますが、ファイル名をデータベースに追加したいと考えています。
私の問題は、最後にアップロードされた画像のみがデータベースに追加されることです。これは、データ配列をコントローラーからモデルに渡す方法がわからないためです。
アップロードするコードは次のようになります (コントローラー):
public function aanbiedingenadd() //functie om ze toe te voegen aan de database
{
$files = $_FILES;
echo '<pre>';
print_r($files);
$cpt = count($_FILES['userfile']['name']);
for($i=0; $i<$cpt; $i++)
{
$_FILES['userfile']['name']= $files['userfile']['name'][$i];
$_FILES['userfile']['type']= $files['userfile']['type'][$i];
$_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
$_FILES['userfile']['error']= $files['userfile']['error'][$i];
$_FILES['userfile']['size']= $files['userfile']['size'][$i];
$this->upload->initialize($this->set_upload_options());
$this->upload->do_upload();
$image_data = $this->upload->data();
}
print_r($image_data);
print_r($this->upload->display_errors());
$this->aanbieding_model->addaanbieding($image_data);
redirect("members/aanbiedingen");
}
print_r($files)
アップロードされたすべてのファイルをサイズ、幅、高さなどとともに表示します。
print_r($image_data);
最後にアップロードされた画像のみを表示します。
私のモデルは次のようになります。
$insert_data = array(
'fotonaam' => $image_data['file_name']
);
print_r($insert_data);
die;
$input = $this->input->post('userfile');
if(isset($input)){
$this->db->insert('fotoaanbiedingen', $insert_data);
}else{
return FALSE;
}
print_r($insert_data);
私に見せて
Array
(
[fotonaam] => 'nameoflastuploadedimage'
)
これを配列に追加して、1つずつ追加するにはどうすればよいですか?