ホームページ  >  記事  >  バックエンド開発  >  Zend Framework アップロード ファイルの名前変更

Zend Framework アップロード ファイルの名前変更

WBOY
WBOYオリジナル
2016-07-25 09:11:32960ブラウズ
  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;/ /Rename
  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. }
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。