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 相关文章推荐
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
php中关于普通表单多文件上传的处理方法
Mar 25 PHP
如何用phpmyadmin设置mysql数据库用户的权限
Jan 09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
php使用curl简单抓取远程url的方法
Mar 13 PHP
php支持中文字符串分割的函数
May 28 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
php提交post数组参数实例分析
Dec 17 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
php防止sql注入的方法详解
Feb 20 PHP
php实现映射操作实例详解
Oct 02 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 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
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
php二分查找二种实现示例
2014/03/12 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
js用图作提交按钮或超连接
2008/03/26 Javascript
编写兼容IE和FireFox的脚本
2009/05/18 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
jquery select多选框的左右移动 具体实现代码
2013/07/03 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
浅谈js中的bind
2019/03/18 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
Weex开发之地图篇的具体使用
2019/10/16 Javascript
python numpy 显示图像阵列的实例
2018/07/02 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
Keras设置以及获取权重的实现
2020/06/19 Python
Python实现区域填充的示例代码
2021/02/03 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
爱国卫生月实施方案
2014/02/21 职场文书
股权收购意向书
2014/04/01 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
高考百日冲刺决心书
2015/09/23 职场文书