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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值