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 相关文章推荐
一个简单计数器的源代码
Oct 09 PHP
PHP新手上路(九)
Oct 09 PHP
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
Nov 18 PHP
PHP CURL获取返回值的方法
May 04 PHP
php查找字符串出现次数的方法
Dec 01 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
php实现word转html的方法
Jan 22 PHP
thinkphp的dump函数无输出实例代码
Nov 15 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
PHP简单实现遍历目录下特定文件的方法小结
May 22 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 10 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
PHP mysql事务问题实例分析
2016/01/18 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
div层的移动及性能优化
2010/11/16 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
JS常用表单验证方法总结
2014/05/22 Javascript
30个经典的jQuery代码开发技巧
2014/12/15 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
python模拟实现斗地主发牌
2020/01/07 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
django ORM之values和annotate使用详解
2020/05/19 Python
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
铭立家具面试题
2012/12/06 面试题
品德评语大全
2014/05/05 职场文书
学校清明节活动总结
2014/07/04 职场文书
商铺消防安全责任书
2014/07/29 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
财务工作失职检讨书
2014/11/21 职场文书
4种方法python批量修改替换列表中元素
2022/04/07 Python
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang