Zend_File_Transfer文件上传

在zend_framework中的Zend_File组建可以对文件进行上传,改组建可以对上传了的文件的大小,图片的尺寸,每次上传文件的个 数,上传文件的后缀(类型)进行定义.可以对上传之后的文件名进行修改。
html代码如下:
[html]






[/html]
Action中的代码为:
[php]
$upload = new Zend_File_Transfer_Adapter_Http();
//设置上传之后文件的目录
$upload->setDestination(‘../public/up’);

$upload->addValidator(‘Extension’,false,’gif,jpeg,png,jpg’) //设置上传文件的后缀名
->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 ‘
————-
‘;

$fileInfo = $upload->getFileInfo();

foreach ( $fileInfo as $file=>$info ){
if( $upload->isValid($file) ){
echo $file.’
‘;
$upload->addFilter(‘Rename’,array(‘target’=>time().mb_convert_encoding($info[‘name’],’gbk’,’utf-8′),’overwrite’=>true),$file);
$upload->receive($file);
header(“Location: ../public/”);
}else{
//对不能上传的文件的错误信息进行处理
print_r($upload->getMessages());//得到错误信息
}
}
[/php]



发表评论

电子邮件地址不会被公开。