当前位置:Gxlcms > PHP教程 > ZendFramework上传文件重命名

ZendFramework上传文件重命名

时间:2021-07-01 10:21:17 帮助过:18人阅读

<无详细内容>
  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. }

人气教程排行