У загруженного файла Dropzone одинаковое имя

У меня нормальная форма с dropzone в нем, все значения и файлы загружаются на сервер, но когда я проверяю его, выписывая переменную $ _FILES, все загруженные файлы имеют одинаковое имя и расширение с последним загруженным файлом, но имеют правильный mime- типы для каждого файла. Поэтому, когда я загружаю несколько файлов с разными типами файлов, загрузка всегда получает ошибку для файла с разным расширением с последним файлом.

Вот пример моего кода (я использую CodeIgniter 3):

HTML

<form class="form form-horizontal dropzone" method="post" id="form-add-product" enctype="multipart/form-data"> <input type="text" class="form-control" name="type" id="type" required> <input type="number" class="form-control" id="hour_meter" name="hour_meter" required> <button class="btn btn-flat btn-success" id="btn_add_image" type="button"><i class="fa fa-plus"></i> Add Image</button> <div id="dropzone-previews" style="min-height: 200px; border: 2px dotted #D2D6DE; padding: 20px"> </form> 

JS

 var formImage = new Dropzone("#form-add-product", { url: baseURL + 'ProductNew/upload_product', paramName: 'product-img', uploadMultiple: true, acceptedFiles: 'image/*', maxFiles: 10, parallelUploads: 10, autoProcessQueue: false, previewsContainer: '#dropzone-previews', clickable: "#dropzone-previews,#btn_add_image", addRemoveLinks: true, maxFileSize: 50, createImageThumbnails: true, resizeHeight: 600, dictRemoveFile: "<button class='btn btn-sm btn-flat btn-danger' style='margin-top: 5px'><i class='fa fa-trash'></i></button>", init: function() { var myForm = this; var submitButton = document.getElementById('btn-add-submit'); submitButton.addEventListener("click", function(e) { e.preventDefault(); e.stopPropagation(); myForm.processQueue(); }); }); 

PHP

 $filesCount = count($_FILES['product-img']['name']); $temp_files = $_FILES['product-img']; $upload_path = 'assets/images/product/'; $config['upload_path'] = $upload_path; $config['allowed_types'] = 'jpeg|jpg|png|gif|JPG|bmp'; $config['max_size'] = 1024 * 20; if( ! file_exists($upload_path)) { mkdir('assets/images/product/', 0777, true); } for($i = 0; $i < $filesCount; $i++) { $_FILES['product-img']['name'] = $temp_files['name'][$i]; $_FILES['product-img']['type'] = $temp_files['type'][$i]; $_FILES['product-img']['tmp_name'] = $temp_files['tmp_name'][$i]; $_FILES['product-img']['error'] = $temp_files['error'][$i]; $_FILES['product-img']['size'] = $temp_files['size'][$i]; $file_name = 'photos-'.($i+1); $config['file_name'] = $file_name; $this->upload->initialize($config); if($this->upload->do_upload('product-img')) { $fileData = $this->upload->data(); $upload_data[] = array( 'photo_url' => $upload_path.$fileData['file_name'] ); } else { $upload_data[] = array( 'error' => $this->upload->display_errors() ); } } 

Вот скриншот:

console.log (файлы)

print_r ($ _ FILES)

Указанная ошибка:

 Array ( [0] => Array ( [error] => The filetype you are attempting to upload is not allowed. ) [1] => Array ( [photo_url] => assets/images/product/rodillo-vibratorio-de-doble-tambor-rd7hes_8567_9096.png ) ) 

Я действительно застрял, узнал, в чем проблема, я новичок в использовании Dropzone, искал, но не нашел подходящего ответа.

EDIT: Я нашел решение Я наконец нашел решение, но я не знаю, является ли это правильное решение. Я просто устанавливаю $ config ['allowed_type'] = '*' в контроллере, и загрузка выполняется плавно. По-прежнему рассчитывать на другое решение для проверки на стороне сервера. Я не буду удалять этот вопрос, потому что я думаю, что это было бы полезно для таких начинающих, как я.