Zend Framework上传文件重命名的实现方法
本文实例讲述了ZendFramework上传文件重命名的实现方法。分享给大家供大家参考,具体如下:
1.ZendFramework文件上传重命名
//实例化文件上专类
$fName=$this->_request->getPost('fName');
$adapter=newZend_File_Transfer_Adapter_Http();
//存放上传文件的文件夹
$adapter->setDestination('/opt/lampp/htdocs/blog/upload');
//上传配置
$adapter
->addValidator('Extension',false,$configs['extension'])//文件格式限制
->addValidator('Size',false,array('min'=>floatval($configs['minsize']),
'max'=>floatval($configs['maxsize'])))//设置上传文件的大小在1-2M之间
->addValidator('Count',false,array('min'=>intval($configs['mincount']),
'max'=>intval($configs['maxcount'])));//上传文件数量
//重命名配置
$fileInfo=$adapter->getFileInfo();//获取基本配置
$extName=$this->getExtension($fileInfo);//获取扩展名
$filename=md5(time()+$fileInfo['fFile']['name']).'.'.$extName;//重命名
$adapter->addFilter('Rename',array('target'=>$filename,'overwrite'=>true));//执行重命名
//返回上传后出现在信息
if(!$adapter->receive())
{
$messages=$adapter->getMessages();//检测
//Zend_Debug::dump($messages);
$message='';
if(is_array($messages))
{
foreach($messagesas$k=>$v)
{
$message.=$k.':'.$v.'<br>';
}
}
else
{
$message=$messages;
}
}
else
{
$this->view->message='上传成功!';
}
2.获取文件扩展名
/**
*获取文件扩展名
*@paramString$name文件名词
*@author
*/
publicfunctiongetExtension($name)
{
$fname='';
if($name)
{
foreach($nameas$val)
{
$fname=$val['name'];
}
$exts=@split("[/\\.]",$fname);
$n=count($exts)-1;
$exts=$exts[$n];
return$exts;
}
}
更多关于zend相关内容感兴趣的读者可查看本站专题:《ZendFrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于ZendFramework框架的PHP程序设计有所帮助。