我使用以下 mime 类型文件验证
array('image', 'file', 'allowEmpty' => true,'mimeTypes'=>'image/gif, image/jpeg, image/jpg, image/png', 'on' => 'update')
如果文件没有正确的 mime 类型,则效果很好。但如果验证成功,则日志 sais
2012/09/27 17:13:02 [warning] [application] unsafe Attribut "image" couldnt be set.
但它肯定被声明为保存
array('image', 'safe', 'on' => 'update')
这就是为什么我收到这样的错误
finfo_file(C:\xampp\tmp\php3729.tmp): failed to open stream: No such file or directory
$mimeType=finfo_file($info,$file->getTempName());
似乎,该文件无法保存在其不安全的属性中。奇怪的是,如果我使用 mimeTypes 检查取消注释验证规则,一切正常。
在我的控制器中,我像这样设置图像文件
if (isset($_POST['User'])) {
$user->attributes = $_POST['User'];
$user->image = CUploadedFile::getInstance($user, 'image');
if ($user->validate()) {