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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

PHP编码规范-php coding standard

目录 介绍 标准化的重要性 解释 认同观点 项目的四个阶段 命名规则 合适的命名 缩写词不要全部使用大写字母 类命名 类库命名 方法命名 类属性命名...

php字符串函数学习之substr()

<?php /* 定义和用法 substr() 函数返回提取的子字符串, 或者在失败时返回 FALSE。 语法 substr(string,start,length) 参数...

php中Session的生成机制、回收机制和存储机制探究

php中Session的生成机制、回收机制和存储机制探究

1、php中session的生成机制 我们先来分析一下PHP中是怎么生成一个session的。设计出session的目的是保持每一个用户的各种状态来弥补HTTP协议的不足(无状态)。我们...

php Undefined index和Undefined variable的解决方法

$act=$_POST['act']; 用以上代码总是提示 Notice: Undefined index: act in F:\win...

php实现的PDO异常处理操作分析

本文实例讲述了php实现的PDO异常处理操作。分享给大家供大家参考,具体如下: 异常处理: PHP:默认为直接报错 MYSQL:默认为静默模式,错就错,不报错 PDO:默认为静默模式,错...