YII中文件上传

时间:2023-03-08 16:31:18

文件上传

1、视图文件代码

<?php

$form = $this->beginWidget("CActiveForm",array(

"action"=>__APP__."/index.php/admin/addnews/add",

"method"=>"post",

"htmlOptions"=>array(

"enctype"=>"multipart/form-data",

"style"=>"margin-top:20px;"

)

));

?>

<table border="1">

<tr>

<td height="30">&nbsp;新闻图片:</td>

<td><?php echo $form->fileField($newsModel,"imagepath",array("size"=>30))?></td>

</tr>

</table>

<?php $this->endWidget()?>

2、控制器文件代码

/*

CUploadedFile类的相关属性

name:文件名

tempName:临时存储目录

type:文件类型

size:文件大小

error:是否出错

CUploadedFile类的相关方法

$myFile->saveAs("完整保存路径");//保存上传文件

$myFile->getName();//获得上传文件名

$myFile->getTempName();//获得上传文件临时存储目录

$myFile->getType();//获得上传文件类型

$myFile->getSize();//获得上传文件大小

$myFile->getError();//获得上传文件是否出错

$myFile->getExtensionName();//获得上传文件扩展名

*/

$myFile = CUploadedFile::getInstance($newsModel,"imagepath");//获得上传文件信息,$myFile是一个对象存储着上传文件的相关信息

if($myFile != NULL)

{

$ext = $myFile->getExtensionName();//获得上传文件扩展名

$savePath = "newspicture/".md5(uniqid()).".".$ext;//获得保存路径

if($myFile->saveAs($savePath))//上传文件

{

echo "上传成功";

}

else

{

echo "上传失败";

}

}

else

{

echo "没有上传的文件";

}