For starters - sorry for my bad English, oh Globish))
You cannot give more information. But I'm trying to explain.
If you want to upload a single file:
<input type="file" name="upload_file">
and for the backend:
$_FILES['upload_file']['tmp_file']
If you want to upload multiple files: IMPORTANT! These are two cases!
Case one (I suppose this is your current case):
<input type="file" name="upload_file[]">
and for the backend:
$_FILES['upload_file'][$arrKey]['tmp_file']
Case two:
<input type="file" name="upload_file" multiple="multiple">
and for the backend:
$_FILES['upload_file']['tmp_file']
Take a look at case two, the backend code equivalent for a single download. How it works? Since the browser sends multiple files with separate requests, one file per request. And you can show the download status for all files and / or for the current download file.
source share