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 相关文章推荐
example2.php
Oct 09 PHP
PHP 源代码压缩小工具
Dec 22 PHP
QQ登录 PHP OAuth示例代码
Jul 20 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
解析php中memcache的应用
Jun 18 PHP
PHP mysql与mysqli事务使用说明 分享
Aug 17 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
May 06 PHP
php操作(删除,提取,增加)zip文件方法详解
Mar 12 PHP
php按字符无乱码截取中文的方法
Mar 27 PHP
php异常处理方法实例汇总
Jun 24 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
Mar 28 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
Apr 04 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中文汉字验证码
2007/04/08 PHP
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
js中关于一个分号的崩溃示例
2013/11/11 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
JS奇技之利用scroll来监听resize详解
2017/06/15 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
JavaScript this绑定过程深入详解
2018/12/07 Javascript
微信小程序实现手势滑动效果
2019/08/26 Javascript
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
python打开文件并获取文件相关属性的方法
2015/04/23 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
浅谈Python中range和xrange的区别
2017/12/20 Python
numpy中矩阵合并的实例
2018/06/15 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
python 格式化输出百分号的方法
2019/01/20 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
全球领先美式家具品牌:Ashley爱室丽家居
2017/08/07 全球购物
UNIX文件系统常用命令
2012/05/25 面试题
个人应聘自我评价分享
2013/11/18 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
实习指导老师评语
2014/04/26 职场文书
霸气队列口号
2014/06/18 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python