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 相关文章推荐
解析thinkphp中的导入文件标签
Jun 20 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
PHP使用pear自带的mail类库发邮件的方法
Jul 08 PHP
codeigniter实现get分页的方法
Jul 10 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
Mar 17 PHP
PHP发送AT指令实例代码
May 26 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
THINKPHP3.2使用soap连接webservice的解决方法
Dec 13 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 PHP
Laravel ORM 数据model操作教程
Oct 21 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 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中数据类型转换的三种方式
2015/04/02 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
jquery.validate使用攻略 第二部
2010/07/01 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
[03:08]Ti4观战指南上
2014/07/07 DOTA
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Python实现点云投影到平面显示
2020/01/18 Python
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
广告学专业应届生求职信
2013/10/01 职场文书
暑期实习鉴定
2013/12/16 职场文书
国家励志奖学金获奖感言
2014/01/09 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
总经理助理工作职责
2014/02/06 职场文书
法律进企业活动方案
2014/03/04 职场文书
简历自我评价模板
2015/03/11 职场文书
开场白怎么写
2015/06/01 职场文书
师范生教育见习总结
2015/06/23 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
Android studio 简单计算器的编写
2022/05/20 Java/Android
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS