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 静态化实现代码
Mar 20 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
May 19 PHP
PHP中的cookie不用刷新就生效的方法
Feb 04 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
Feb 23 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
Mar 15 PHP
CI(CodeIgniter)框架视图中加载视图的方法
Mar 24 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 PHP
Laravel 关联模型-关联新增和关联更新的方法
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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
PHP 配置文件中open_basedir选项作用
2009/07/19 PHP
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
Javascript显示和隐藏ul列表的方法
2015/07/15 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
python 远程统计文件代码分享
2015/05/14 Python
Python写入CSV文件的方法
2015/07/08 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
Python中Unittest框架的具体使用
2019/08/27 Python
pycharm修改file type方式
2019/11/19 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
flask项目集成swagger的方法
2020/12/09 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
英国女性时尚品牌:Apricot
2018/12/04 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
单位门卫岗位职责
2013/12/20 职场文书
高中军训广播稿
2014/01/14 职场文书
雷人标语集锦
2014/06/19 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技