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实现分页的一个示例
Oct 09 PHP
PHP新手上路(十二)
Oct 09 PHP
php 面向对象的一个例子
Apr 12 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
Yii实现简单分页的方法
Apr 29 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
Jul 09 PHP
PHP中的访问修饰符简单比较
Feb 02 PHP
PHP的微信支付接口使用方法讲解
Mar 08 PHP
PHP中quotemeta()函数的用法讲解
Apr 04 PHP
php文件后缀不强制为.php的实操方法
Sep 18 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
用Laravel轻松处理千万级数据的方法实现
Dec 25 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
PHP 常见郁闷问题答解
2006/11/25 PHP
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
PHP入门之常量简介和系统常量
2014/05/12 PHP
linux中cd命令使用详解
2015/01/08 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
JavaScript为事件句柄绑定监听函数实例详解
2015/12/15 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
Python实现简单过滤文本段的方法
2017/05/24 Python
Python三级菜单的实例
2017/09/13 Python
HTML5 常用语法一览(列举不支持的属性)
2010/01/26 HTML / CSS
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
机械工程及其自动化专业求职信
2014/08/08 职场文书
励志演讲稿300字
2014/08/21 职场文书
民事赔偿协议书
2014/11/02 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
该怎么书写道歉信?
2019/07/03 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
讲解Python实例练习逆序输出字符串
2022/05/06 Python