程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Zend Framework上傳文件重命名的實現方法

Zend Framework上傳文件重命名的實現方法

編輯:PHP綜合

本文實例講述了Zend Framework上傳文件重命名的實現方法。分享給大家供大家參考,具體如下:

1. 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-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;//重命名
$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='上傳成功!';
}

2. 獲取文件擴展名

/**
 * 獲取文件擴展名
 * @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;
  }
}

更多關於zend相關內容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優秀開發框架總結》、《Yii框架入門及常用技巧總結》、《ThinkPHP入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基於Zend Framework框架的PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved