Итак, вот сценарий:
Пользователь представлен формой, содержащей входные файлы. Пользователь отправляет форму. Форма не проходит проверку / проверку по той или иной причине. Пользователь отображает форму с выделенными ошибками. Входы файлов теперь пустые.
Вопрос:
Возможно ли повторное заполнение входных файлов файлами с помощью путей к файлам, выбранным пользователем. Решение PHP было бы идеальным, но я также открыт для решений JavaScript.
Я думаю, что короткий ответ здесь нет. Вы не можете повторно заполнять поля для загрузки файлов. Однако вы можете обойти это.
Если файл был выбран и форма отправлена, вы уже получили файл. Что вы можете сделать, так это сохранить ссылку на файл на диске и поместить его в скрытое поле и показать сообщение, чтобы указать пользователю, что вы все еще загрузили свой файл, поэтому его не нужно заменять / повторно загружать. Когда ваша форма будет отправлена снова без файла, вы можете проверить значение скрытого поля и использовать это, чтобы получить локальную копию файла, который они загрузили в свою последнюю попытку.
Другой способ сделать это – либо отправить форму через ajax (используя либо flash, либо метод iframe для загрузки файла), либо выполнить вызов ajax для проверки формы сначала, а затем подать только как нормальный, если он действителен (при этом нет перезагрузка формы, отсутствие потери данных поля загрузки файла).
Я решил эту проблему, позволив пользователю выбрать файл загрузки в качестве последнего поля перед отправкой формы ^^