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 error_log 函数的使用
Apr 13 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
php获取百度收录、百度热词及百度快照的方法
Apr 02 PHP
php curl模拟post请求和提交多维数组的示例代码
Nov 19 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP笛卡尔积实现算法示例
Jul 30 PHP
PDO::rollBack讲解
Jan 29 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 24 PHP
PHP开发api接口安全验证操作实例详解
Mar 26 PHP
PHP实现文件上传与下载
Aug 28 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生成xml简单实例代码
2009/12/16 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
PHP实现的简单日历类
2014/11/29 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
Js注册协议倒计时的小例子
2013/06/24 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
angularjs基础教程
2014/12/25 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
JS定义网页表单提交(submit)的方法
2015/03/20 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
js事件监听器用法实例详解
2015/06/01 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
python3抓取中文网页的方法
2015/07/28 Python
python+Django+apache的配置方法详解
2016/06/01 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
简单的Python人脸识别系统
2020/07/14 Python
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
怎样写好自荐信和推荐信
2013/12/26 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
试用期自我评价怎么写
2015/03/10 职场文书
检讨书范文
2019/04/16 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
HTML基础详解(上)
2021/10/16 HTML / CSS
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫