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 相关文章推荐
在PHP3中实现SESSION的功能(三)
Oct 09 PHP
php 图片上添加透明度渐变的效果
Jun 29 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
PHP操作数组相关函数
Feb 03 PHP
提高php运行速度的一些小技巧分享
Jul 03 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
Nov 04 PHP
Yii学习总结之数据访问对象 (DAO)
Feb 22 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
Dec 17 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
Apr 11 PHP
php 二维数组时间排序实现代码
Nov 19 PHP
PHP判断数组是否为空的常用方法(五种方法)
Feb 08 PHP
PHP实现支持CURL字符串证书传输的方法
Mar 23 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和AJAX创建RSS聚合器的代码
2007/03/13 PHP
php 删除记录实现代码
2009/03/12 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
javascript replace()正则替换实现代码
2010/02/26 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
JQuery遍历json数组的3种方法
2014/11/08 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
使用vue-router完成简单导航功能【推荐】
2018/06/28 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
javascript实现手动点赞效果
2019/04/09 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
vue mvvm数据响应实现
2020/11/11 Javascript
[06:24]DOTA2亚洲邀请赛小组赛第三日 TOP10精彩集锦
2015/02/01 DOTA
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
Python基于template实现字符串替换
2020/11/27 Python
JAVA招聘远程笔试题
2015/07/23 面试题
《云雀的心愿》教学反思
2014/02/25 职场文书
平面设计求职信
2014/03/10 职场文书
大学生自荐书范文
2015/03/05 职场文书
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python
在redisCluster中模糊获取key方式
2021/07/09 Redis
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android