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程序设计有所帮助。

(0)

相关推荐

  • Zend Framework入门教程之Zend_Db数据库操作详解

    本文实例讲述了Zend Framework中Zend_Db数据库操作方法.分享给大家供大家参考,具体如下: 引言:Zend操作数据库通过Zend_Db_Adapter 它可以连接多种数据库,可以是DB2数据库.MySQli数据库.Oracle数据库.等等. 只需要配置相应的参数就可以了. 下面通过案例来展示一下其连接数据库的过程. 连接mysql数据库 代码: <?php require_once 'Zend/Db.php'; $params = array('host'=>'127.0.0.

  • Zend Framework入门教程之Zend_Session会话操作详解

    本文实例讲述了Zend Framework入门教程之Zend_Session会话操作.分享给大家供大家参考,具体如下: 会话命名空间 实现会话 代码: <?php require_once "Zend/Session/Namespace.php"; $myNamespace = new Zend_Session_Namespace('Myspace'); if(isset($myNamespace->numberOfPageRequests)) { $myNamespace

  • Zend Framework开发入门经典教程

    本文讲述了Zend Framework开发入门相关知识点.分享给大家供大家参考,具体如下: Zend Framework发布了!虽然仍处于开发初期,这个教程仍突出讲解目前几个最好的功能,并指导你完成一个简单程序的构建. Zend最早在社区里发布了ZF.基于同样的想法,这个教程写来用于展示ZF现有的功能.由于这个教程是在线发布,我将在ZF变化时对其进行更新,以便尽可能有效. 要求 Zend Framework要求PHP5.为了更好利用本教程的代码,你还需要Apache网页服务器.因为示范程序(一个

  • zf框架的校验器使用使用示例(自定义校验器和校验器链)

    复制代码 代码如下: <?phprequire_once("Zend/Loader.php");//引入校验器类和效验器的功能类(Int),与自定义接口类;Zend_Loader::loadClass('Zend_Validate');Zend_Loader::loadClass('Zend_Validate_Int');Zend_Loader::loadClass('Zend_Validate_Interface');//增加自定义校验器功能类(GongBeiNum)[公倍数]

  • Zend Framework常用校验器详解

    本文实例讲述了Zend Framework常用校验器.分享给大家供大家参考,具体如下: Date日期校验器 代码: <?php require_once 'Zend/Validate/Date.php'; function c_date($date){ $validator = new Zend_Validate_Date(); if($validator->isValid($date)){ echo "输入的日期格式:"; echo $date."有效!<

  • Zend Framework校验器Zend_Validate用法详解

    本文实例讲述了Zend Framework校验器Zend_Validate用法.分享给大家供大家参考,具体如下: 引言: 是对输入内容进行检查,并生成一个布尔结果来表明内容是否被成功校验的机制. 如果isValid()方法返回False,子类的getMessage()方法将返回一个消息数组来解释校验失败的原因. 为了正确地返回消息与错误内容,对于isValid()方法的每次调用,都需要清除前一个isValid()方法调用所导致的消息和错误. 案例: <?php require_once 'Zen

  • php入门教程之Zend Studio设置与开发实例

    本文实例讲述了php入门教程之Zend Studio设置与开发方法.分享给大家供大家参考,具体如下: 新建文档的模板设置 新建文档的模板设置 Demo1.php: <?php echo "阅谁问君诵,水落清香浮." ?> orderform.php: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD

  • Zend Framework框架实现类似Google搜索分页效果

    本文实例讲述了Zend Framework框架实现类似Google搜索分页效果.分享给大家供大家参考,具体如下: /** * * @param unknown_type $model 表类型 * @param unknown_type $ncontroller 那个控制器提交的controller * @param unknown_type $naction 那个action提交的action */ public function fenyepage2($model,$ncontroller,$

  • zf框架的校验器InArray使用示例

    复制代码 代码如下: <?phprequire_once("Zend/Loader.php");Zend_Loader::loadClass("Zend_Validate");Zend_Loader::loadClass("Zend_Validate_InArray"); function check_inarray($person){ $array = array('张三','李四','王五','赵六','田七'); $Validate

  • Zend Framework入门教程之Zend_Mail用法示例

    本文实例讲述了Zend Framework入门教程之Zend_Mail用法.分享给大家供大家参考,具体如下: Zend_Mail组件提供了通用化的功能来创建和发送文本. Zend_Mail通过PHP内建的mail()函数或者直接通过SMTP连接来发送邮件. 一个简单的邮件由收件人.主题.邮件内容以及发件人等内容组成. 步骤如下 1.创建对象 2.设置邮件内容 3.发送 案例: <?php require_once "Zend/Mail.php"; $my_mail = new Z

  • ZendFramework框架实现连接两个或多个数据库的方法

    本文实例讲述了ZendFramework框架实现连接两个或多个数据库的方法.分享给大家供大家参考,具体如下: 配置文件: <db> <adapter>PDO_MSSQL</adapter> <config> <host>localhost</host> <port>1433</port> <username>sa</username> <password>123456<

随机推荐