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实现多服务器共享SESSION数据的方法
Mar 16 PHP
php 静态变量与自定义常量的使用方法
Jan 26 PHP
PHP array_flip() 删除重复数组元素专用函数
May 16 PHP
php中转义mysql语句的实现代码
Jun 24 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 PHP
PHP实现的比较完善的购物车类
Dec 02 PHP
php插入含有特殊符号数据的处理方法
Nov 24 PHP
PHP实现表单提交时去除斜杠的方法
Dec 26 PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 PHP
PHP实现的AES加密、解密封装类与用法示例
Aug 02 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下几种删除目录的方法总结
2007/08/19 PHP
php三维数组去重(示例代码)
2013/11/26 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
2020/09/13 PHP
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
Python解析nginx日志文件
2015/05/11 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
2019/10/28 Python
python批量修改交换机密码的示例
2020/09/22 Python
python爬虫工具例举说明
2020/11/30 Python
鼓励运动员的广播稿
2014/02/08 职场文书
运动员口号
2014/06/09 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
个人事迹材料怎么写
2014/12/30 职场文书
工作收入证明范本
2015/06/12 职场文书
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers