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创建PDF中文文档
Oct 09 PHP
一个PHP+MSSQL分页的例子
Oct 09 PHP
通用PHP动态生成静态HTML网页的代码
Mar 04 PHP
php include加载文件两种方式效率比较
Aug 08 PHP
php采集时被封ip的解决方法
Aug 29 PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 PHP
通过5个php实例细致说明传值与传引用的区别
Aug 08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
Jun 30 PHP
Yii开启片段缓存的方法
Mar 28 PHP
浅谈PHP的反射API
Feb 26 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
Laravel框架分页实现方法分析
Jun 12 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
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
面试题:react和vue的区别分析
2019/04/08 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
Python反射用法实例简析
2017/12/22 Python
Python 函数list&amp;read&amp;seek详解
2019/08/28 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
毕业研究生的自我鉴定
2013/11/30 职场文书
学生党支部先进事迹
2014/02/04 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
自我工作评价范文
2015/03/06 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
SQL Server基本使用和简单的CRUD操作
2021/04/05 SQL Server
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python