php сохраняет значение полей файла при проверке формы возвращает false

Я работаю с формами форм yii, и у меня есть такая форма:

<?php echo CHtml::beginForm('', 'post', array('enctype' => 'multipart/form-data')); ?> Image:<?php echo CHtml::activeFileField($model, 'image');?> <?php echo CHtml::error($model, 'image');?> Full name: <?php echo CHtml::activeTextField($model, 'fullName');?> <?php echo CHtml::error($model,'fullName'); ?> <?php echo CHtml::submitButton('save);?> <?php echo CHtml::endForm();?> 

если есть ошибка при вводе пользователя, поле файла становится пустым, и тогда пользователь должен повторно выбрать его образ. Есть ли способ сохранить значение поля файла в yii или php?

заранее спасибо

Короткий ответ: Нет

Вход файла зависит от локальной файловой системы пользователя, о которой сервер (и, следовательно, PHP) ничего не знает. Итак, одна форма была отправлена, пользователю придется повторно выбрать файл. Это больше проблема безопасности, чем что-либо еще.

Вот два возможных подхода к улучшению UX в этом отношении:

  • Файл будет успешно загружен, поэтому вы можете сохранить его на сервере и использовать свою копию при повторной отправке формы (трудно реализовать, потенциально запутать пользователя и вообще не рекомендуется)
  • (лучше). Вы можете проверить сторону входа на вход формы с помощью Javascript или на стороне сервера через AJAX – перед отправкой. Если вы это сделаете, вы все равно будете проверять серверную часть, но это поможет предоставить законным пользователям лучший пользовательский интерфейс, который, похоже, вас беспокоит.