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实现读取和编写XML DOM代码
Apr 07 PHP
学习php笔记 字符串处理
Oct 19 PHP
PHP大批量数据操作时临时调整内存与执行时间的方法
Apr 20 PHP
解析phpstorm + xdebug 远程断点调试
Jun 20 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
php分割合并两个字符串的函数实例
Jun 19 PHP
php+curl 发送图片处理代码分享
Jul 09 PHP
php计算title标题相似比的方法
Jul 29 PHP
Symfony生成二维码的方法
Feb 04 PHP
Zend Framework教程之模型Model基本规则和使用方法
Mar 04 PHP
Yii2简单实现多语言配置的方法
Jul 23 PHP
php精度计算的问题解析
Jun 21 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读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
2013/09/28 PHP
php获取字段名示例分享
2014/03/03 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
php5与php7的区别点总结
2019/10/11 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
2018/05/17 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
美国在线珠宝商店:SZUL
2017/02/11 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
中学家长会邀请函
2014/02/03 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
公证委托书标准格式
2014/09/11 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
上班迟到检讨书
2014/09/15 职场文书
英文辞职信范文
2015/05/13 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书