Вы можете использовать javascript для размещения скрытого ввода с каждым отдельным файлом вместо того, чтобы изначально хранить их в массиве, а затем присоединить обработчик событий onSubmit, который может собрать все отдельные файлы и загрузить их.
Когда вынеобходимо удалить файл из «очереди», вы можете просто использовать свой javascript для удаления скрытого ввода так же, как вы удаляете его из списка.
Если вам нужны примеры кода, опубликуйте нескольковашего кода, чтобы начать работу - вам будет сложно опубликовать код для вас, если нет указаний на такие вещи, как то, какой язык на стороне сервера вы используете для обработки файлов и какой javascript вы используете для обработки кода на стороне клиента.