当前位置: 移动技术网 > IT编程>开发语言>PHP > Zend Framework上传文件重命名的实现方法

Zend Framework上传文件重命名的实现方法

2017年12月12日  | 移动技术网IT编程  | 我要评论

本文实例讲述了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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网