Владимир, то есть вам готовый код надо? Могу описать все по полочкам, код с телефона писать можно, но не подобный функционал, смысл проверить пост на отправку формы и перебрать в цикле массив файлов, нужна будет ещё проверка, так как формы загрузки для файлов например можно через одну заполнить, то есть проверить есть в этом индексе файл
Первое что нужно это добавить в форму атрибут, что она может грузить файлы.
Потом ошибка бывает когда имя поля для файла не совпадает с именем файла в массиве $_FILES
Бывает что сервер настроен на минимальные настройки , и файл больше 2мб не лезет.
Потом я бы добавил проверку и вместо копирования исходника делал бы какую либо обработку
Ну а вообще поля уникальные, не должны быть редактируемые. Имя вполне может быть не уникальным. Иванов Иван. Например поле почты использовать для авторизации
Антон Р., ну как по мне сессии могут быть как отдельным модулем, как и частью реквеста, то есть все суперглобальные массивы в одном месте, то есть можно проверить есть ли ключ в гет, есть ли пост, то есть в контроллере вызвать проверку
$request->isPost(); проверить был ли сабмит формы, или проверить куку, сессию, файлы, юзер агент клиента. Респонз должен уметь ставить куку например , ставить заголовки, редирект например