本文實(shí)例講述了Zend Framework上傳文件重命名的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
1. Zend Framework文件上傳重命名
//實(shí)例化文件上專(zhuān)類(lèi) $fName=$this->_request->getPost('fName'); $adapter = new Zend_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'])))//設(shè)置上傳文件的大小在1-2M之間 ->addValidator ( 'Count', false, array('min' => intval($configs['mincount']), 'max' => intval($configs['maxcount'])) );//上傳文件數(shù)量 //重命名配置 $fileInfo = $adapter->getFileInfo();//獲取基本配置 $extName=$this->getExtension($fileInfo);//獲取擴(kuò)展名 $filename=md5(time()+$fileInfo['fFile']['name']).'.'.$extName;//重命名 $adapter->addFilter('Rename', array('target' => $filename, 'overwrite' => true));//執(zhí)行重命名 //返回上傳后出現(xiàn)在信息 if (!$adapter->receive()) { $messages = $adapter->getMessages ();//檢測(cè) //Zend_Debug::dump($messages); $message=''; if(is_array($messages)) { foreach($messages as $k=>$v) { $message.=$k.':'.$v.'<br>'; } } else { $message=$messages; } } else { $this->view->message='上傳成功!'; }
2. 獲取文件擴(kuò)展名
/** * 獲取文件擴(kuò)展名 * @param String $name 文件名詞 * @author */ public function getExtension ($name) { $fname=''; if($name) { foreach ($name as $val) { $fname=$val['name']; } $exts = @split("[/\.]", $fname) ; $n = count($exts)-1; $exts = $exts[$n]; return $exts; } }
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Zend FrameWork框架入門(mén)教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《Yii框架入門(mén)及常用技巧總結(jié)》、《ThinkPHP入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。