在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());//得到错误信息 } }