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中var_dump,var_export,print_r三个函数的区别
Jun 21 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
PHP防止表单重复提交的几种常用方法汇总
Aug 19 PHP
php匹配字符中链接地址的方法
Dec 22 PHP
PHP将session信息存储到数据库的类实例
Mar 04 PHP
php强大的时间转换函数strtotime
Feb 18 PHP
CI框架常用方法小结
May 17 PHP
浅谈PHP值mysql操作类
Jun 29 PHP
PHP基本语法实例总结
Sep 09 PHP
php 调用ffmpeg获取视频信息的简单实现
Apr 03 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 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模块 Memcached功能多于Memcache
2011/06/14 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
php自定义时间转换函数示例
2016/12/07 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
js获取变量
2006/08/24 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
2016/08/05 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
JS编写兼容IE6,7,8浏览器无缝自动轮播
2018/10/12 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
element中el-container容器与div布局区分详解
2020/05/13 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
Python中字典的基本知识初步介绍
2015/05/21 Python
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
pycharm配置git(图文教程)
2019/08/16 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
2020/06/11 Python
中国医药集团国药在线:国药网
2017/02/06 全球购物
管理标语大全
2014/06/24 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书
十月围城观后感
2015/06/08 职场文书
北京青年观后感
2015/06/15 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android