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 相关文章推荐
漂亮但不安全的CTB
Oct 09 PHP
PHP JSON 数据解析代码
May 26 PHP
php地址引用(php地址引用的效率问题)
Mar 23 PHP
解析PHP中一些可能会被忽略的问题
Jun 21 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
php处理单文件、多文件上传代码分享
Aug 24 PHP
利用PHP将图片转换成base64编码的实现方法
Sep 13 PHP
WHOOPS PHP调试库的使用
Sep 29 PHP
PHP获取星期几的常用方法小结
Dec 18 PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 PHP
php如何实现数据库的备份和恢复
Nov 30 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
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
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
PHP实现的日历功能示例
2018/09/01 PHP
PHP chop()函数讲解
2019/02/11 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
一些不错的js函数ajax
2008/08/20 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
vue 导出文件,携带请求头token操作
2020/09/10 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
原生JavaScript实现幻灯片效果
2021/02/19 Javascript
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
基于Python代码编辑器的选用(详解)
2017/09/13 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
ECHT官方网站:男女健身服
2020/02/14 全球购物
比较基础的php面试题及答案-编程题
2012/10/14 面试题
职高毕业生自我鉴定
2013/10/21 职场文书
晚宴邀请函范文
2014/01/15 职场文书
护理人员的自我评价分享
2014/03/15 职场文书
校长寄语大全
2014/04/09 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
甜品店创业计划书
2014/09/21 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
教师个人教学反思
2016/02/23 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL