Следующие два вопроса поясняют, что значение input file
не может быть изменено из соображений безопасности.Изменение значения входного файла
В PHP, при проверке формы, один из обычных подходов повторно заполнить введенное значение в input text
, который был предоставлен, прежде чем нажать на кнопку submit
, так что клиент знает, что он вставил, или просто сохранить значения в полях, чего ожидает клиент. (Ему не нужно будет повторно заполнять форму каждый раз, когда есть определенная ошибка).
Поэтому мы используем следующее:
<input type="text" name="title" id="title" maxlength="100" value="<?php echo htmlspecialchars($title);?>" />
Так, так как я не могу изменить значение input file
, так что я могу заново заполнить его с помощью прилагаемого пути $image['tmp_name']
, это означает, что клиент должен будет повторно загружать (или повторно просматривать) изображение каждый раз, когда валидация идет не так, нет ли возможного способа сохранить это значение?
Ну, во-первых, проверить, прежде чем представить (но ненадежна, так что не доверяют), а затем «Блокада» загрузки вы * * получил и сохранил ссылку на файл, сообщив пользователю, что вы сохраните файл при повторной отправке. Затем каждый раз удаляйте файлы, которые никогда не перемещались в соответствующее место. –
вы можете использовать проверку javascript, чтобы форма не была опубликована до тех пор, пока она не будет действительна. – bleuscyther
Или ... base64 закодировать источник файла, отправить его обратно в поле 'hidden' в форме и удалить его после его возвращения? Очевидно, что это отличная идея для очень больших файлов, поэтому требуются некоторые проверки здравомыслия. –