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


Posted in PHP onNovember 25, 2016

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

PHP 相关文章推荐
修改了一个很不错的php验证码(支持中文)
Feb 14 PHP
用mysql_fetch_array()获取当前行数据的方法详解
Jun 05 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
Jun 21 PHP
PHP中常用的字符串格式化函数总结
Nov 19 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
php上传文件常见问题总结
Feb 03 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
PHP中iconv函数知识汇总
Jul 02 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
PHP基础之输出缓冲区基本概念、原理分析
Jun 19 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 #PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 #PHP
php对接java现实加签验签的实例
Nov 25 #PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
Nov 25 #PHP
php实现的网页版剪刀石头布游戏示例
Nov 25 #PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 #PHP
基于CI框架的微信网页授权库示例
Nov 25 #PHP
You might like
simplehtmldom Doc api帮助文档
2012/03/26 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
tagName的使用,留一笔
2006/06/26 Javascript
javascript之ESC(第二类混淆)
2007/05/06 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
2019/07/06 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
Python字符遍历的艺术
2008/09/06 Python
Python程序设计入门(1)基本语法简介
2014/06/13 Python
python基础教程之循环介绍
2014/08/29 Python
Python中的XML库4Suite Server的介绍
2015/04/14 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
python实现复制整个目录的方法
2015/05/12 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
tensorflow识别自己手写数字
2018/03/14 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
日本无添加化妆品:HABA
2016/08/18 全球购物
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
大码女装:Ulla Popken
2019/08/06 全球购物
竞争上岗演讲稿
2014/01/05 职场文书
婚庆司仪主持词
2014/03/15 职场文书
团队精神的演讲稿
2014/05/14 职场文书
反腐倡廉演讲稿
2014/05/22 职场文书
不知如何爱孩子,这些方法教会您
2019/08/06 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
解决mysql的int型主键自增问题
2021/07/15 MySQL
vue实现在data里引入相对路径
2022/06/05 Vue.js