PHP中上传多个文件的表单设计例子


Posted in PHP onNovember 19, 2014

多个文件上传和单独文件上传的处理方式是一样的,只需要在客户端多提供几个类型为“file”的输入表单,并指定不同的“name”属性值。例如,在下面的代码中,可以让用户同时选择三个本地文件一起上传给服务器,客户端的表单如下所示:

<html>

<head><title>多个文件上传表单</title></head>

<body>

<form action="mul_upload.php" method="post" enctype="multipart/form-data">

<input type="hidden" name="MAX_FILE_SIZE" value="1000000">

选择文件1:<input type="file" name='myfile[]'><br>

选择文件2:<input type="file" name='myfile[]'><br>

选择文件3:<input type="file" name='myfile[]'><br>

<input type="submit" value="上传文件">

</form>

</body>

</html>

在上面的代码中,将三个文件类型的表单以数组的形式组织在一起。当上面的表单教给PHP的脚本文件mul_upload.php时,在服务器端同样使用全局数组$_FILES存储所有上述文件的信息,但$_FILES由二维数组已经转变为三维数组,这样就可以存储多个上传文件的信息。在脚本文件mul_upload.php中,使用print_r()函数将$_FILES数组中的内容输出,代码如下所示:

<?php

//打印三维数组$_FILES中的内容,查看一下存储上传文件的结构

print_r($_FILES);

?>

当选择三个本地文件提交后,输出结果如下所示:

Array(

    [myfile]=>Array(

        [name]=>Array(              ---$_FILES["myfile"]["name"]存储所有上传文件的内容

            [0]=>Rav.ini         ---$_FILES["myfile"]["name"][0]第一个上传文件的名称

            [1]=>msgsocm.log     ---$_FILES["myfile"]["name"][1]第二个上传文件的名称

            [2]=>NOTEPAD.EXE)        ---$_FILES["myfile"]["name"][2]第三个上传文件的名称

        [type]=>Array(               ---$_FILES["myfile"]["type"]存储所有上传文件的类型

            [0]=>application/octet-stream          ---$_FILES["myfile"]["type"][0]第一个上传文件的类型

            [1]=>application/octet-stream          ---$_FILES["myfile"]["type"][1]第二个上传文件的类型

            [2]=>application/octet-stream)         ---$_FILES["myfile"]["type"][2]第三个上传文件的类型

        [tmp_name]=>Array(

            [0]=>C:\WINDOWS\Temp\phpAF.tmp

            [1]=>C:\WINDOWS\Temp\phpB0.tmp

            [2]=>C:\WINDOWS\Temp\phpB1.tmp)

        [error]=>Array(

            [0]=>0

            [1]=>0

            [2]=>0)

        [size]=>Array(

            [0]=>64

            [1]=>1350

            [2]=>66560))

)

通过输出$_FILES数组的值可以看到,处理多个文件的上传和单个文件上传时的情况一样的,只是$_FILES数组的结构形式略有不同。通过这种方式可以支持更多数量的文件上传。

PHP 相关文章推荐
php mysql数据库操作类
Jun 04 PHP
使用PHP破解防盗链图片的一个简单方法
Jun 07 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
PHP中两个float(浮点数)比较实例分析
Sep 27 PHP
php实现微信公众平台账号自定义菜单类
Oct 11 PHP
php提交过来的数据生成为txt文件
Apr 28 PHP
PHP上传图片类显示缩略图功能
Jun 30 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 PHP
PHP Include文件实例讲解
Feb 15 PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 PHP
PHP+iframe模拟Ajax上传文件功能示例
Jul 02 PHP
PHP中使用GD库创建圆形饼图的例子
Nov 19 #PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
Nov 19 #PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 #PHP
PHP GD库生成图像的几个函数总结
Nov 19 #PHP
PHP中绘制图像的一些函数总结
Nov 19 #PHP
PHP中round()函数对浮点数进行四舍五入的方法
Nov 19 #PHP
PHP中创建图像并绘制文字的例子
Nov 19 #PHP
You might like
用文本文件制作留言板提示(上)
2006/10/09 PHP
用PHP和ACCESS写聊天室(二)
2006/10/09 PHP
php 更新数据库中断的解决方法
2009/06/05 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
php array_chunk()函数用法与注意事项
2019/07/12 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
JavaScript Prototype对象
2009/01/07 Javascript
锋利的jQuery 第三章章节总结的例子
2010/03/23 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
2019/06/17 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
Python线程指南分享
2019/11/19 Python
Python谱减法语音降噪实例
2019/12/18 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
python如何查看安装了的模块
2020/06/23 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
大四学年自我鉴定
2013/11/13 职场文书
房地产销售员的自我评价分享
2013/12/04 职场文书
12月小学生校园广播稿
2014/02/04 职场文书
项目建议书模板
2014/05/12 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
拖欠货款起诉状
2015/05/20 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
docker 制作mysql镜像并自动安装
2022/05/20 Servers