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 相关文章推荐
第七节--类的静态成员
Nov 16 PHP
经典的PHPer为什么被认为是草根?
Apr 02 PHP
PHP mb_convert_encoding 获取字符串编码类型实现代码
Apr 26 PHP
PHP字符串的编码问题的详细介绍
Apr 27 PHP
CodeIgniter针对数据库的连接、配置及使用方法
Mar 03 PHP
Thinkphp单字母函数使用指南
May 08 PHP
php版银联支付接口开发简明教程
Oct 14 PHP
PHP中的函数声明与使用详解
May 27 PHP
PHP高精确度运算BC函数库实例详解
Aug 15 PHP
详解laravel安装使用Passport(Api认证)
Jul 27 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
php获取微信openid方法总结
Oct 10 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
php生成缩略图的类代码
2008/10/02 PHP
深入解析php之apc
2013/05/15 PHP
php多文件打包下载的实例代码
2017/07/12 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
jquery中通过父级查找进行定位示例
2013/06/28 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
每日十条JavaScript经验技巧(二)
2016/06/23 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
Python信息抽取之乱码解决办法
2017/06/29 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
python 实现二维列表转置
2019/12/02 Python
开启Django博客的RSS功能的实现方法
2020/02/17 Python
大学活动邀请函
2014/01/28 职场文书
高中军训感言600字
2014/03/11 职场文书
取保候审保证书
2014/04/30 职场文书
我的小天地教学反思
2014/04/30 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
小学教师年度个人总结
2015/02/05 职场文书
搞笑老公保证书
2015/02/26 职场文书
感动中国何玥观后感
2015/06/02 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书