I'm trying to send a file from an HTML form to the CodeIgniter 3 Controller, but it shows an error message like this
Undefined Index : foto.
This is my HTML form script :
<div class="col-10">
<input type='file' id='foto1' name='foto[]' onchange='readURL(this);' onclick='tambahGambar(1)' multiple="">
</div>
I send it using ajax, like this :
$.ajax({
url: '<?= base_url("admin/Masterbarang/addBarang"); ?>',
type: 'POST',
dataType: 'json',
data: $('#form-barang').serialize() + "&hpp=" + JSON.stringify(hpp) + "&rekomendasi=" + JSON.stringify(rekomendasi),
success: function(data) {
$("#nama-barang").attr("disabled", true)
console.log(data);
},
error: function(data) {
// alert(data.message);
// console.log(data.pesan_gagal);
$("#nama-barang").attr("disabled", true)
console.log(data);
}
});
In my controller received in this way :
$number_of_files = sizeof($_FILES['foto']['tmp_name']);
$foto = $_FILES['foto'];
for ($i = 0; $i < $number_of_files; $i++) {
$newName = $nama_barang . "_" . $i . ".png";
if (!empty($foto['name'][$i])) {
$_FILES['file']['name'] = $foto['name'][$i];
$_FILES['file']['type'] = $foto['type'][$i];
$_FILES['file']['tmp_name'] = $foto['tmp_name'][$i];
$_FILES['file']['error'] = $foto['error'][$i];
$_FILES['file']['size'] = $foto['size'][$i];
$config['upload_path'] = FCPATH . 'assets/upload/product/';
$config['allowed_types'] = 'jpg|jpeg|png|gif';
$config['max_size'] = '5000';
$config['file_name'] = $newName;
$this->load->library('upload', $config);
if ($this->upload->do_upload('file')) {
$uploadData = $this->upload->data();
$filename = $uploadData['file_name'];
$data['totalFiles'][] = $filename;
}
}
}
Someone might be able to help me solve this problem