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

本文实例讲述了Zend
Framework上传文件重命名的实现方法。分享给大家供大家参考,具体如下:

不使用 layout

//实例化文件上专类
$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='上传成功!';
}

一. render

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

三. redirect

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend
FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend
FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

  1. Zend Framework文件上传重命名
$this->_forward('bar', 'foo', 'hoge');

您可能感兴趣的文章:

  • Zend
    Framework常用校验器详解
  • zf框架的校验器InArray使用示例
  • zf框架的校验器使用使用示例(自定义校验器和校验器链)
  • Zend
    Framework入门教程之Zend_Session会话操作详解
  • Zend
    Framework入门教程之Zend_Mail用法示例
  • Zend
    Framework入门教程之Zend_Db数据库操作详解
  • ZendFramework框架实现连接两个或多个数据库的方法
  • Zend
    Framework框架实现类似Google搜索分页效果
  • php入门教程之Zend
    Studio设置与开发实例
  • Zend
    Framework开发入门经典教程
  • Zend
    Framework校验器Zend_Validate用法详解

结果: /hoge

/**
 * 获取文件扩展名
 * @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;
  }
}

结果: {当前Module}/{当前Controller}/bar.phtml

  1. 获取文件扩展名
$params = array(
 'a' => '1',
 'b' => '2'
);
$this->_forward('bar', 'foo', 'hoge', $params);

结果: hoge/foo/bar

您可能感兴趣的文章:

  • zf框架的校验器InArray使用示例
  • zf框架的校验器使用使用示例(自定义校验器和校验器链)
  • Zend
    Framework入门教程之Zend_Session会话操作详解
  • Zend
    Framework入门教程之Zend_Mail用法示例
  • Zend
    Framework入门教程之Zend_Db数据库操作详解
  • ZendFramework框架实现连接两个或多个数据库的方法
  • Zend
    Framework框架实现类似Google搜索分页效果
  • Zend
    Framework上传文件重命名的实现方法
  • php入门教程之Zend
    Studio设置与开发实例
  • Zend
    Framework开发入门经典教程
  • Zend
    Framework常用校验器详解
$this->_redirect('/hoge/foo/bar');

结果:

结果: /hoge/foo/bar

结果: {当前Module}/foo/bar

$this->_redirect('http://localhost/hoge/foo/bar?a=1&b=2');

二. forward

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

$this->_forward('bar', 'foo');

发表评论

电子邮件地址不会被公开。 必填项已用*标注