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 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
用phpmyadmin更改mysql5.0登录密码
Mar 25 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
PHP base64编码后解码乱码的解决办法
Jun 19 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
PHP生成器简单实例
May 13 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
May 28 PHP
php写入文件不覆盖的实例讲解
Sep 17 PHP
php实现对文件压缩简单的方法
Sep 29 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
Apr 06 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
SONY SRF-40W电路分析
2021/03/02 无线电
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
Google韩国首页图标动画效果
2007/08/26 Javascript
jquery ajax执行后台方法
2010/03/18 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
python变量不能以数字打头详解
2016/07/06 Python
python 二维数组90度旋转的方法
2019/01/28 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
详解python变量与数据类型
2020/08/25 Python
python collections模块的使用
2020/10/16 Python
python时间time模块处理大全
2020/10/25 Python
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
运动会闭幕式解说词
2014/02/21 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
国旗下演讲稿
2014/05/08 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
团结主题班会
2015/08/13 职场文书
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers