Вы можете использовать функциональность массива имен полей PHP, чтобы обойти необходимость отслеживать имена полей. Просто назовите это поле так:
<input type="file" name="files[]" ... />
^^--- array notation
и PHP будет обрабатывать каждое поле файла как отдельный элемент в массиве $ _FILES после отправки формы. Это освобождает вас от лишних затрат на отслеживание количества ящиков и скрытых полей формы для хранения значения.
Возможно, вы захотите пересмотреть вопрос о том, чтобы при нажатии на элемент файла был добавлен новый файл. Что произойдет, если кто-то нажмет кнопку «Обзор», чтобы добавить файл? Они получат новое поле ввода файла, хотя, возможно, они хотели только один. Если они выберут неправильный файл или передумают позже и снова нажмут кнопку «Обзор», чтобы изменить выбор файла, они получат еще одно поле ввода.
Подумайте о выделенной кнопке "добавить еще один ящик".