Zend_File_Transfer文件上传

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

你可能感兴趣的:(Zend_File_Transfer文件上传)