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 相关文章推荐
php2html php生成静态页函数
Dec 08 PHP
php购物车实现代码
Oct 10 PHP
分享一段php获取linux服务器状态的代码
May 27 PHP
php通过修改header强制图片下载的方法
Mar 24 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
Oct 10 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
Dec 10 PHP
php简单实现数组分页的方法
Apr 30 PHP
PHP 极验验证码实例讲解
Sep 29 PHP
PHP截取发动短信内容的方法
Jul 04 PHP
一个实用的php验证码类
Jul 06 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 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面向对象分析设计的61条军规小结
2010/07/17 PHP
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
jquery二级导航内容均分的原理及实现
2013/08/13 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
python队列通信:rabbitMQ的使用(实例讲解)
2017/12/22 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
python用match()函数爬数据方法详解
2019/07/23 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
python switch 实现多分支选择功能
2020/12/21 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
教师实习自我鉴定
2013/12/13 职场文书
个人评价范文分享
2014/01/11 职场文书
网络研修随笔感言
2014/02/17 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
Java 定时任务技术趋势简介
2022/05/04 Java/Android