Zend Framework上传文件重命名的实现方法

 更新时间:2016年11月25日 10:55:33   作者:IceInto  
这篇文章主要介绍了Zend Framework上传文件重命名的实现方法,结合实例形式分析了Zend Framework上传文件重命名的具体操作步骤与配置、检测、重命名操作的相关实现技巧,需要的朋友可以参考下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

相关文章

  • PHP用GD库生成高质量的缩略图片

    PHP用GD库生成高质量的缩略图片

    PHP用GD库生成高质量的缩略图片,PHP一般情况下生成的缩略图都比较不理想。今天试用PHP,GD库来生成缩略图。虽然并不100%完美。可是也应该可以满足缩略图的要求了。
    2011-03-03
  • PHP中redis的用法深入解析

    PHP中redis的用法深入解析

    本篇文章主要是对PHP中redis的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • 完美实现GIF动画缩略图的php代码

    完美实现GIF动画缩略图的php代码

    缩略图是个很常用的功能。它的实现并不复杂,但如果原图是GIF动画的话,问题就会变得繁琐一点。
    2011-01-01
  • PHP实现防盗链的方法分析

    PHP实现防盗链的方法分析

    这篇文章主要介绍了PHP实现防盗链的方法,结合实例形式分析了php防盗链所涉及的相关技术与具体实现技巧,需要的朋友可以参考下
    2017-07-07
  • PHP简单实现遍历目录下特定文件的方法小结

    PHP简单实现遍历目录下特定文件的方法小结

    这篇文章主要介绍了PHP简单实现遍历目录下特定文件的方法,结合2个简单实例总结分析了php针对目录下指定文件的遍历查询操作技巧,需要的朋友可以参考下
    2017-05-05
  • PHP5多态性与动态绑定介绍

    PHP5多态性与动态绑定介绍

    这篇文章主要介绍了PHP5多态性与动态绑定介绍,本文主要讲解了什么是多态性和什么是动态绑定,并给出相应实例,需要的朋友可以参考下
    2015-04-04
  • php解析html类库simple_html_dom(详细介绍)

    php解析html类库simple_html_dom(详细介绍)

    一直以来使用php解析html文档树都是一个难题。Simple HTML DOM parser 帮我们很好地解决了这个问题。可以通过这个php类来解析html文档,对其中的html元素进行操作 (PHP5+以上版本)
    2013-07-07
  • PHP面向对象程序设计(OOP)之方法重写(override)操作示例

    PHP面向对象程序设计(OOP)之方法重写(override)操作示例

    这篇文章主要介绍了PHP面向对象程序设计(OOP)之方法重写(override)操作,简单描述了php面向对象程序设计中方法重写的原理,并结合实例形式分析了php方法重写相关实现技巧与注意事项,需要的朋友可以参考下
    2018-12-12
  • EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本

    EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本

    这篇文章主要介绍了EarthLiveSharp暂时没有清理cloudinary的CDN图片缓存的功能,于是我用python写了一个,并尝试用gist管理,需要的朋友可以参考下
    2017-04-04
  • 使用php判断服务器是否支持Gzip压缩功能

    使用php判断服务器是否支持Gzip压缩功能

    开启Gzip是需要服务器支持的,在这里我们简单的使用php来判断服务器是否支持Gzip功能,具体如下,感兴趣的朋友可以参考下
    2013-09-09

最新评论