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面向对象分析设计的经验原则
Sep 20 PHP
PHP 第一节 php简介
Apr 28 PHP
Linux中用PHP判断程序运行状态的2个方法
May 04 PHP
php模拟用户自动在qq空间发表文章的方法
Jan 07 PHP
smarty模板引擎之内建函数用法
Mar 30 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
Mar 23 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
php验证身份证号码正确性的函数
Jul 20 PHP
laravel5创建service provider和facade的方法详解
Jul 26 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 PHP
有关PHP 中 config.m4 的探索
Aug 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
PHP set_error_handler()函数使用详解(示例)
2013/11/12 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
javascript数组组合成字符串的脚本
2021/01/06 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
easyui下拉框动态级联加载的示例代码
2017/11/29 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
对vux点击事件的优化详解
2018/08/28 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
jquery获取input输入框中的值
2019/11/13 jQuery
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
python解析html开发库pyquery使用方法
2014/02/07 Python
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
Python分析学校四六级过关情况
2017/11/22 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
python tkinter组件使用详解
2019/09/16 Python
python导入库的具体方法
2020/06/18 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
构造方法和其他方法的区别
2016/04/26 面试题
钳工实习自我鉴定
2013/09/19 职场文书
财会自我鉴定范文
2013/12/27 职场文书
导游个人求职信范文
2014/03/23 职场文书
乐山大佛导游词
2015/02/02 职场文书
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫