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 相关文章推荐
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
Oct 13 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
Aug 08 PHP
PHP实现获取图片颜色值的方法
Jul 11 PHP
php向js函数传参的几种方法
Aug 10 PHP
smarty模板引擎中变量及变量修饰器用法实例
Jan 22 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
May 27 PHP
非常实用的php验证码类
May 15 PHP
php把时间戳转换成多少时间之前函数的实例
Nov 16 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
Jun 12 PHP
PHP扩展类型及安装方式解析
Apr 27 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实现从身份证中提取生日
2016/05/09 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
2012/02/16 Javascript
js post提交调用方法
2014/02/12 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
Element Breadcrumb 面包屑的使用方法
2020/07/26 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
Python创建文件和追加文件内容实例
2014/10/21 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
python实现多层感知器
2019/01/18 Python
numpy.where() 用法详解
2019/05/27 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
Harrods英国:世界领先的奢侈品百货商店
2020/09/23 全球购物
大学四年规划书范文
2013/12/27 职场文书
年度考核评语
2014/01/19 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
企业读书活动总结
2014/06/30 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
大一新生检讨书
2014/10/29 职场文书
初中作文评语集锦
2014/12/25 职场文书
幼师个人总结范文
2015/02/28 职场文书
幼师自荐信范文
2015/03/06 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
jQuery实现影院选座订座效果
2021/04/13 jQuery
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android
python如何查找列表中元素的位置
2022/05/30 Python