哈哈...又是几天没有写日志了....今天想写一篇关于怎样用Zend Framework 上传文件的教程...以前我上传文件是通过自己写的类来上传..现在Zend Framewrok自己自带了一个上传文件的功能.叫做:Zend_File...真是比较强大...我们平时想要的功能基本上都包括....我也就顺便看了一下....
没想到..这一看...就忍不住试验了一把...真是简单到极点.....比自己写起来的上传类方便多了...我先在这里按手册上的教程写一篇....后期我再写一个详细的教程...趁这时候还没有到上班时间...OK..开始:
上传文件分为二步走:
第一:在你的模板页加上传的表单..这个简单的了....我直接用手册上的拿过来:
<form enctype="multipart/form-data" action="<?php echo $this->baseUrl(); ?>
/default/file/upload/uid/<?=$this->uid; ?>/id/"
method="POST" > <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
请选择您的上传文件: <input name="uploadedfile" type="file" /> <br />
<input type="submit" value="确定上传" /> </form>
第二步:写上个专门的上传控制器..我这里写了一个FileController.php...你们可以换成自己的..当然也可以放在其它的控制器中...之后就是写一个上传的Action..我这里是uploadAction():代码我也是看手册上的...我加上了注解..
<?php
class FileController extends Zend_Controller_Action
{
public function init(){
$this->config=Zend_Registry::get('config');
$this->view->baseUrl = $this->_request->getBaseUrl();
}
public function uploadAction(){
//不需要渲染模板页
$this->getFrontController()->setParam('noViewRenderer', true);
//实例化文件上专类
$adapter = new Zend_File_Transfer_Adapter_Http();
//你存放上传文件的文件夹
$adapter->setDestination('D:\temp');
//返回上传后出现在信息
if (!$adapter->receive()) {
$messages = $adapter->getMessages();
echo implode("n", $messages);
}
}
}
?>
完成这一步...你就可以上传一个文件试一下...无论什么类型的文件都可以..当你打开你D:\temp
一看....晕...上传成功...
...这么简单...哎....
当然..这里什么检测都没有做...所以请大家认真去看一下这个Zend_File组件...我有时间再写一个详细的说明教程....希望大家可以了解...其实这不是我原创...只是把手册上的东西写在这里.....哈哈....