Zend Framework实现多文件上传功能实例


Posted in PHP onMarch 21, 2016

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

第一步:在我们原来教程找到library文件夹..这里原来是存放我们Zend类库文件夹的地方..现在我们在library文件夹里加上如下几个文件夹:library/Custom/Controller/Plugin/

文件夹我们加入完成.这时候我们就要找到我们的文件上传的类文件了..这里我命名为Upload.php文件名..这个文件就是我们将要用到文件上传的的类文件.当然这文件我是改写成了Zend Framework里的插件形式...Upload.php部分文件说明如下,(我这里只给出部分程序,也就是简单的多文件上传类):

<?php
class Custom_Controller_Plugin_Upload extends Zend_Controller_Plugin_Abstract {
private $uploaddir; //文件上传存路径
private $max_files; //一次性最多上传多少文件
private $max_size; //文件最大量
private $permission; //文件夹是否可以有权限
private $files;
private $allowed = array (); //允许上传文件格式
//不允许上传文件格式
private $notallowed = array ("exe", "mp3" );
private $filesname; //文件表单name
//图片文件宽度,超过就生成缩略图
private $imagewidth; //图片文件高度,超过就生成缩略图
private $imageheight;
public $filearray = array ();
//返回多个文件名
public $lastFileName; //返加一个文件名
public $Error;
?>

第二步:在我们以前写留言本的教程里..找到当时的控制器..IndexController.php,加入一个名称叫做upload的动作(Action).这个upload动作就是为了要文件上传时可以运用..它的详细程序,如下所示:

public function uploadAction() {
echo $this->view->render('header.phtml');//显示模版头文件
if(strtolower($_SERVER['REQUEST_METHOD'])=='post'){
Zend_Loader::loadClass('Custom_Controller_Plugin_Upload');
$uploadfile=new Custom_Controller_Plugin_Upload( ROOT_DIR.'/public/upload/','uploadfile','10','2048000', array("gif","png","jpg","bmp","jpeg"),600,600);
if(''==$uploadfile->Error){
echo '<div class="commentInner" style="width:860px;text-align:center;">
恭喜您,照片上传成功!请您<a style="color:red;" href=
"'.$this->view->baseUrl.'/index/index/">点这里返回</a></div>';
}else{
echo '<div class="commentInner" style="width:860px;text-align:center;">
对不起,您照片上传有以下错误:'.$uploadfile->error.'请返回重新上传!请您
<a style="color:red;" href="'.$this->view->baseUrl.'/index/upload/">
点这里返回</a></div>';
}
}
echo $this->view->render('message/upload.phtml');//显示模版
echo $this->view->render('footer.phtml');//显示模版脚文件
}

第三步:在我们的View模板文件夹中加入上传功能Form表单..:这里我在里加多加了一个upload.phtml模板文件...为了让大家更好的看清楚怎样实现上传..我只写一个最简单的上传文件表单..这样实现起来就不会太难...我们只要在这个View模板文件里..把它的POST的动作指向到我们upload这个动作就可以上传文件了..

最后.你要的只是输入你的网站地址..比如我的:http://127.0.0.1/zendframework/index/upload/ 这个只你在上传表单里选择图片文件..你就可以上传了..没有错的话.你刚上传的文件会在网站目录zendframework/public/upload/这个文件夹下面..应试不会有错..因为我的这里只控制上传为图片文件..你可以改成你自己想要上传的其它文件..

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

PHP 相关文章推荐
由php if 想到的些问题
Mar 22 PHP
php 上一篇,下一篇文章实现代码与原理说明
May 09 PHP
php经典算法集锦
Nov 14 PHP
PHP可变变量学习小结
Nov 29 PHP
基于ThinkPHP实现批量删除
Dec 18 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
Mar 17 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 PHP
PHP 的比较运算与逻辑运算详解
May 12 PHP
基于php实现的验证码小程序
Dec 13 PHP
PHP微信H5支付开发实例
Jul 25 PHP
PHP自动生成缩略图函数的源码示例
Mar 18 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
Mar 21 #PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
Mar 21 #PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
Mar 21 #PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 #PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 #PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
Mar 21 #PHP
PHP常见数组函数用法小结
Mar 21 #PHP
You might like
PHP中GET变量的使用
2006/10/09 PHP
PHP 身份证号验证函数
2009/05/07 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
PHP 闭包详解及实例代码
2016/09/28 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
JavaScript 对象模型 执行模型
2009/12/06 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
禁止IE用右键的JS代码
2013/12/30 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Pycharm学习教程(1) 定制外观
2017/05/02 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
商得四方公司面试题(gid+)
2014/04/30 面试题
自荐信格式技巧有哪些呢
2013/11/19 职场文书
护士自我鉴定总结
2014/03/24 职场文书
2014年检验员工作总结
2014/11/19 职场文书
2015年三万活动总结
2015/03/25 职场文书
高中开学感言
2015/08/01 职场文书
安全教育培训制度
2015/08/06 职场文书