【发布时间】:2012-04-23 09:27:02
【问题描述】:
我在 yii 中创建了一个文件上传表单,但由于某些原因,Yii 无法验证我的文件大小(尽管它确实验证了我的文件类型)。 这是我的控制器:
$file = CUploadedFile::getInstance($model,'attachment');
if ((is_object($file) && get_class($file)==='CUploadedFile')) {
$model->attachment = $file;
if($model->validate(array('attachment')))
$model->attachment->saveAs('upload/'.$file);
}
这是我的规则:
array('attachment', 'file', 'types'=>'zip, rar, 7z','allowEmpty' => true,'maxSize'=>1024*1024*5,'tooLarge'=>'File has to be smaller than 5MB'),
谁能告诉我这里出了什么问题?
【问题讨论】:
-
Yii 报告
$file属性中的文件大小是多少。如果我没记错的话是$file->size -
我尝试上传一个 2.25MB 的 bmp 文件,它显示文件大小和类型的验证错误(
$file->_size被报告为2359350)。然后我尝试上传一个 50MB 的 rar 文件,即使上传没有发生,它也没有显示验证错误。 -
我发现了问题。我所要做的就是在 INI 文件中配置
upload_max_filesize和post_max_size。感谢您的帮助 -
@vader 如果您找到了解决方案,然后将其作为答案发布并接受它,这有助于减少 yii 标签的未回答问题计数。可以接受你自己的答案。
-
@vader:或者,完全删除问题。这个问题之前已经被提出了数百次,无论如何都更容易找到。
标签: upload yii validation filesize