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 相关文章推荐
留言板翻页的实现详解
Oct 09 PHP
php session处理的定制
Mar 16 PHP
php带抄送和密件抄送的邮件发送方法
Mar 20 PHP
php操作MongoDB类实例
Jun 17 PHP
PHP读取汉字的点阵数据
Jun 22 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
Mar 22 PHP
PHP简单实现文本计数器的方法
Apr 28 PHP
PHP简单检测网址是否能够正常打开的方法
Sep 04 PHP
PHP关键特性之命名空间实例详解
May 06 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
Nov 03 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
Apr 20 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安装全攻略:APACHE
2006/10/09 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
永不消失的title提示代码
2007/02/15 Javascript
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
jQuery Validate初步体验(二)
2015/12/12 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
python SVD压缩图像的实现代码
2019/11/05 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
物业管理应届生求职信
2013/10/28 职场文书
关于工资低的辞职信
2014/01/14 职场文书
大学生职业生涯规划书范文
2014/01/14 职场文书
学校党员对照检查材料
2014/08/28 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
windows11怎么查看自己安装的版本号? win11版本号的查看方法
2021/11/21 数码科技
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技