Современные браузеры будут скрывать значение входного файла, чтобы скрыть информацию о файловой системе клиента.Это включает доступ к входному значению через javascript, где браузеры будут возвращать что-то вроде C:\fakepath\file.txt
.
Установка значения файловых входов также, как правило, недопустима, либо путем установки атрибута value
в HTML, либо с помощью javascript.Таким образом, вы не сможете восстановить предыдущее значение поля ввода, даже если сможете каким-то образом выяснить, что это было.Попробуйте сами здесь:
http://jsfiddle.net/MP39Q/2/
(Есть некоторые исключения из некоторых из этих ограничений, например, более ранние версии IE, но я думаю, это вам не поможет.)
Поскольку путь пользователя не отправляется как часть данных формы, он не будет доступен в PHP .
Решение в вашем случае можетхранить загруженный файл на сервере.При возникновении ошибки сохранения передайте соответствующую ссылку на временный файл обратно в форму (например, через данные сеанса) и дайте пользователю возможность выбрать, сохранять ли исходный файл или выбрать новый для загрузки, пока они исправляют другие части.формы.