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 相关文章推荐
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
Apr 08 PHP
php url路由入门实例
Apr 23 PHP
如何让thinkphp在模型中自动完成session赋值小教程
Sep 05 PHP
php实现数组按指定KEY排序的方法
Mar 30 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 PHP
php操纵mysqli数据库的实现方法
Sep 18 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
laravel withCount 统计关联数量的方法
Oct 10 PHP
Laravel重定向,a链接跳转,控制器跳转示例
Oct 22 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 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中使用TCPDF生成PDF文档实例
2014/07/01 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
原生js调用json方法总结
2018/02/22 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
脚手架vue-cli工程webpack的基本用法详解
2018/09/29 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
Python中文竖排显示的方法
2015/07/28 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
浅谈对yield的初步理解
2017/05/29 Python
django DRF图片路径问题的解决方法
2018/09/10 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
django 控制页面跳转的例子
2019/08/06 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
销售简历自我评价
2014/01/24 职场文书
电脑售后服务承诺书
2014/03/27 职场文书
庆国庆活动总结
2014/08/28 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
校园之声广播稿
2015/08/18 职场文书
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript