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函数
May 31 PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 PHP
php/js获取客户端mac地址的实现代码
Jul 08 PHP
zen cart实现订单中增加paypal中预留电话的方法
Jul 12 PHP
php实现批量修改文件名称的方法
Jul 23 PHP
PHP简单创建压缩图的方法
Aug 24 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
浅谈Laravel核心解读之Console内核
Dec 02 PHP
php TP5框架生成二维码链接
Apr 01 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
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
2011/09/20 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
javascript 实现map集合
2015/04/03 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
nodejs 日志模块winston的使用方法
2018/05/02 NodeJs
JavaScript常用数学函数用法示例
2018/05/14 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
2019/11/13 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
python字典操作实例详解
2017/11/16 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
python下PyGame的下载与安装过程及遇到问题
2019/08/04 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
Django values()和value_list()的使用
2020/03/31 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
化工专业推荐信范文
2013/11/28 职场文书
参观监狱心得体会
2014/01/02 职场文书
大学同学聚会邀请函
2014/01/19 职场文书
公司担保书范文
2014/05/21 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis