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+javascript的日历控件
Nov 19 PHP
一步一步学习PHP(7) php 字符串相关应用
Mar 05 PHP
PHPUnit PHP测试框架安装方法
Mar 23 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
PHP数据类型的总结分析
Jun 13 PHP
php jquery 多文件上传简单实例
Dec 23 PHP
windwos下使用php连接oracle数据库的过程分享
May 26 PHP
使用ob系列函数实现PHP网站页面静态化
Aug 13 PHP
跟我学Laravel之路由
Oct 15 PHP
PHP嵌套输出缓冲代码实例
May 12 PHP
php中简单的对称加密算法实现
Jan 05 PHP
win10下 php安装seaslog扩展的详细步骤
Dec 04 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
2009/06/29 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
JavaScript中“+=”的应用
2007/02/02 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
js装饰设计模式学习心得
2018/02/17 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
js回到页面指定位置的三种方式
2020/12/17 Javascript
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
Python如何输出警告信息
2020/07/30 Python
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
nohup的用法
2012/11/26 面试题
商场消防演习方案
2014/02/12 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
村班子对照检查材料
2014/08/18 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
MySql分区类型及创建分区的方法
2022/04/13 MySQL