在zend_framework中的Zend_File组建可以对文件进行上传,改组建可以对上传了的文件的大小,图片的尺寸,每次上传文件的个数,上传文件的后缀(类型)进行定义.可以对上传之后的文件名进行修改。
html代码如下:
<form enctype="multipart/form-data" action="index/upload" method="post">
<input type="file" name="uploadedfile" />
<br/><input type="file" name="uploadedfile2" />
<br/><input type="submit" value="上传" />
</form>
Action中的代码为:
$upload = new Zend_File_Transfer_Adapter_Http();
//设置上传之后文件的目录
$upload->setDestination('images/upload');
$upload->addValidator('Extension',false,'gif,jpeg,png') //设置上传文件的后缀名
->addValidator('Count',false,array('min'=>1,'max'=>5)) //设置上传文件的个数
->addValidator('ImageSize',false,array('minwidth'=>0, //设置上传图片的大小
'maxwidth'=>1300,
'minhight'=>0,
'maxhight'=>1300))
->addValidator('FilesSize',false,array('min'=>'10KB','max'=>'1024KB') //设置上传文件的大小
);
//添加过滤器来修改上传文件的名称
//$upload->addFilter('Rename',array('target'=>'images/123.gif','overwrite'=>true));
print_r($upload->getFileInfo());
echo '<br/>-------------<br/>';
$fileInfo = $upload->getFileInfo();
foreach ( $fileInfo as $file=>$info ){
if( $upload->isValid($file) ){
echo $file.'<br/>';
$upload->addFilter('Rename',array('target'=>time().mb_convert_encoding($info['name'],'gbk','utf-8'),'overwrite'=>true),$file);
$upload->receive($file);
}else{
//对不能上传的文件的错误信息进行处理
print_r($upload->getMessages());//得到错误信息
}
}