Я хочу загрузить переменное число (определенное пользователем) количество файлов с помощью ретро-подгонки к php (фотографии в данном случае) для использования в моем php-коде. Я считаю, что у меня есть модифицированный код, но я не уверен, как сделать код php / slim, и я не могу найти ответ. Я искал.
Так что мой андроид java это что-то вроде этого в мышлении. Загрузить переменное количество файлов с телефона на сервер.
caption[] = (cap1, cap2, cap3);
Uri[] = (user selected Uri, second uri, third uri, .....as selected);
x = Uri[].length;
private MultipartBody.Part prepareFilePart(String partName, Uri fileUri) {
File file = FileUtils.getFile(this, fileUri);
RequestBody requestFile =
RequestBody.create(
MediaType.parse(getContentResolver().getType(fileUri)),
file
);
return MultipartBody.Part.createFormData(partName, file.getName(),
requestFile);
}
List < MultipartBody.Part > parts = new ArrayList < > ();
While(x >= 0) {
photo = "photo" + x;
parts.add(prepareFilePart(photo, Uri[x]));
x = x - 1;
}
...
Call < ResponseBody > call = service.uploadMultipleFilesDynamic(description, parts);
с вызовом
Call<ResponseBody> uploadMultipleFilesDynamic(
@Field("cap[]") ArrayList<String> capation[],
@Part List<MultipartBody.Part> files);
}
Теперь у php есть реальные вопросы, так как я не знаю, как их получить.
В настоящее время для 1 файла я делаю что-то подобное в slim.
$response = array();
if (isset($_POST['cap']) &&
($_POST['IDs']) &&
($_POST['filenamev']) &&
$_FILES['image']['error'] === UPLOAD_ERR_OK) {
$upload = new pictureuploads();
$filep = $_FILES['image']['tmp_name'];
$capp = $_POST['cap'];
$ID = $_POST['IDs'];
$desc = $_POST['filenamev'];
if ($upload->savecapFile($filep, getFileExtension($_FILES['image']['name']), $desc, $ID, $capp)) {
$response['error'] = false;
$response['message'] = 'File Uploaded Successfullly';
} else {
$response['error'] = true;
$response['message'] = 'Required parameters are not available';
}
echo json_encode($response);
}
с использованием метода как.
public function savecapFile($filep, $extension, $desc, $ID, $timep)
{
move_uploaded_file($filep, $filedest);
}
Итак, мой вопрос: как мне принять переменное количество файлов в php?
Результаты, которые я хотел бы получить, просты.
Загружается произвольное количество пользовательских файлов. Прямо сейчас у меня должна быть ссылка 1 на 1 в моих принимающих файлах. Мне бы не хотелось беспокоиться об этом, чтобы пользователь мог загрузить столько, сколько он пожелает.