「PHP」Zend Frameworkファイルをアップロードしてリネーム

サンプルコード:

//ファイルアップロードクラスをインスタンス化
$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-2MB
->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;//リネーム
$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.'<br>’;
}
}
else
{
$message=$messages;
}
}
else
{
$this->view->message=’アップロード成功!’;
}

Development

Posted by arkgame