我对Yii有一个问题:
我有一个名为Slider.php的模型和一个名为SliderController.php的控制器。
我写了这段代码让用户上传一张图片:
public function actionCreate()
{
$model=new Slider;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Slider']))
{
$model->attributes=$_POST['Slider'];
$model->image=CUploadedFile::getInstance($model, 'image');
if($model->save()) {
if(strlen($model->image)>0)
{
$model->image->saveAs(Yii::app()->basePath.'/../uploads/slider/'.$model->image);
}
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
));
}
而且效果很好。
我的问题是:如何在视图中获取/返回文件类型和大小?
2条答案
按热度按时间c6ubokkw1#
CUploadedFile
具有size
和type
属性,您可以使用这些属性。注意上面的类型是由客户端报告的,因此如果客户端配置错误(无论是故意还是意外),它将不准确。对于显示目的来说,这并不重要,但是如果您要将MIME类型存储在某个地方以备将来使用,则应该在服务器端使用
CFileHelper::getMimeType
来确定它。kq0g1dla2#
你也可以使用$model-〉image-〉getExtensionName()来获得扩展名。这个方法返回文件扩展名。请查看下面链接中的文档。
http://www.yiiframework.com/doc/api/1.1/CUploadedFile#getExtensionName-detail