Heim  >  Artikel  >  Backend-Entwicklung  >  Zend Framework上传文件重命名

Zend Framework上传文件重命名

WBOY
WBOYOriginal
2016-07-25 09:11:32960Durchsuche
  1. //实例化文件上专类
  2. $fName=$this->_request->getPost('fName');
  3. $adapter = new Zend_File_Transfer_Adapter_Http();
  4. //存放上传文件的文件夹
  5. $adapter->setDestination('/opt/lampp/htdocs/blog/upload');
  6. //上传配置
  7. $adapter
  8. ->addValidator ( 'Extension', false, $configs['extension'])//文件格式限制
  9. ->addValidator('Size', false, array('min' =>floatval($configs['minsize']),
  10. 'max' => floatval($configs['maxsize'])))//设置上传文件的大小在1-2M之间
  11. ->addValidator ( 'Count', false, array('min' => intval($configs['mincount']),
  12. 'max' => intval($configs['maxcount'])) );//上传文件数量
  13. //重命名配置
  14. $fileInfo = $adapter->getFileInfo();//获取基本配置
  15. $extName=$this->getExtension($fileInfo);//获取扩展名
  16. $filename=md5(time()+$fileInfo['fFile']['name']).'.'.$extName;//重命名
  17. $adapter->addFilter('Rename', array('target' => $filename, 'overwrite' => true));//执行重命名
  18. //返回上传后出现在信息
  19. if (!$adapter->receive())
  20. {
  21. $messages = $adapter->getMessages ();//检测
  22. //Zend_Debug::dump($messages);
  23. $message='';
  24. if(is_array($messages))
  25. {
  26. foreach($messages as $k=>$v)
  27. {
  28. $message.=$k.':'.$v.'
    ';
  29. }
  30. }
  31. else
  32. {
  33. $message=$messages;
  34. }
  35. }
  36. else
  37. {
  38. $this->view->message='上传成功!';
  39. }
复制代码
  1. /**
  2. * 获取文件扩展名
  3. * @param String $name 文件名词
  4. * @author
  5. */
  6. public function getExtension ($name)
  7. {
  8. $fname='';
  9. if($name)
  10. {
  11. foreach ($name as $val)
  12. {
  13. $fname=$val['name'];
  14. }
  15. $exts = @split("[/\\.]", $fname) ;
  16. $n = count($exts)-1;
  17. $exts = $exts[$n];
  18. return $exts;
  19. }
  20. }
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn