- //インスタントファイル特殊クラス
- $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 ']) ))//アップロードされるファイルのサイズを 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;/ /Rename
- $adapter->addFilter('Rename', array('target' => $filename, 'overwrite' => true)); //名前変更を実行
-
- //メッセージをアップロードした後に表示に戻ります
- if (! $adapter->receive())
- {
- $messages = $adapter->getMessages ();//検出
- //Zend_Debug::dump($messages);
- $message='' ;
- if(is_array ($messages))
- {
- foreach($messages as $k=>$v)
- {
- $message.=$k.':'.$v.'
'
- }
- }
- else
- {
- $message=$messages;
- }
- }
- else
- {
- $this->view->message='アップロードに成功しました! ';
- }
コードをコピー
- /**
- * ファイル拡張子を取得します
- * @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;
- }
- }
コードをコピー
|