PHP中上传多个文件的表单设计例子

多个文件上传和单独文件上传的处理方式是一样的,只需要在客户端多提供几个类型为“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数组的结构形式略有不同。通过这种方式可以支持更多数量的文件上传。

(0)

相关推荐

  • thinkphp表单上传文件并将文件路径保存到数据库中

    上传单个文件,此文以上传图片为例,上传效果如图所示 创建数据库upload_img,用于保存上传路径 CREATE TABLE `seminar_upload_img` ( `id` int(11) NOT NULL AUTO_INCREMENT, `img_name` varchar(255) DEFAULT NULL COMMENT '图片名称', `img_url` varchar(255) DEFAULT NULL COMMENT '图片路径', `create_time` text,

  • php中关于普通表单多文件上传的处理方法

    然而有些情况只需要传递几个文件,而且文件体积并不太大,这种情况下使用组件则有点牛刀杀鸡的感觉,通过html自带的<input type="file">表单就可以实现需要的功能,关键在于后台接收程序的处理. php处理上传做的很方便,上传文件的信息通过服务器自动处理到$_FILES数组中,开发者只需要使用的内置处理函数简单操作就可以啦.ASP开发者则没有这么幸运,官方并没有提供直接的处理方法,需要开发者自己设计,这时就需要开发者了解IIS对enctype="mult

  • php利用fsockopen GET/POST提交表单及上传文件

    php利用fsockopen GET/POST提交表单及上传文件,具体内容如下 1.GET get.php <?php $host = 'demo.fdipzone.com'; $port = 80; $errno = ''; $errstr = ''; $timeout = 30; $url = '/socket/getapi.php'; $param = array( 'name' => 'fdipzone', 'gender' => 'man' ); $url = $url.'?'

  • php表单文件iframe异步上传实例讲解

    本文实例为大家分享了php表单文件iframe异步上传的具体代码,供大家参考,具体内容如下 1.表单中放置iframe元素: 2.文件上传控件内容变化的时候触发JS设置表单的action为处理文件上传的img_upload_process.php文件,并且将表单的target设置为iframe,让iframe去提交到服务器进行文件上传: 3.img_upload_process.php中处理文件上传成功后,将上传成功保存的文件路径回传给表单中隐藏域: 4.点击表单提交按钮的时,JS设置表单act

  • php+html5使用FormData对象提交表单及上传图片的方法

    本文实例讲述了php+html5使用FormData对象提交表单及上传图片的方法.分享给大家供大家参考.具体分析如下: FormData 对象,可以把form中所有表单元素的name与value组成一个queryString,提交到后台.在使用Ajax提交时,使用FormData对象可以减少拼接queryString的工作量. 使用FormData对象 1.创建一个FormData空对象,然后使用append方法添加key/value 复制代码 代码如下: var formdata = new

  • 美图秀秀web开放平台--PHP流式上传和表单上传示例分享

    废话少说,直接上代码: <?php /** * Note:for octet-stream upload * 这个是流式上传PHP文件 * Please be amended accordingly based on the actual situation */ $post_input = 'php://input'; $save_path = dirname(__FILE__); $postdata = file_get_contents($post_input); if (isset($p

  • php文件上传表单摘自drupal的代码

    drupal文件上传表单的例子 复制代码 代码如下: function upload_form() { $form = array(); // If this #attribute is not present, upload will fail on submit $form['#attributes']['enctype'] = 'multipart/form-data'; $form['file_upload'] = array( '#title' => t('Upload file'),

  • php上传图片获取路径及给表单字段赋值的方法

    本文实例讲述了php上传图片获取路径及给表单字段赋值的方法.分享给大家供大家参考,具体如下: 1. 调用方法例子: 大图路径: <input type="text" name="bigImageURL" id="bigImageURL" value=""> <iframe src="uppic.php?id=bigImageURL" width="600" height

  • PHP中上传多个文件的表单设计例子

    多个文件上传和单独文件上传的处理方式是一样的,只需要在客户端多提供几个类型为"file"的输入表单,并指定不同的"name"属性值.例如,在下面的代码中,可以让用户同时选择三个本地文件一起上传给服务器,客户端的表单如下所示: 复制代码 代码如下: <html> <head><title>多个文件上传表单</title></head> <body> <form action="mu

  • JavaWeb中上传和下载文件实例代码

    一丶先引入上传下载的lib 二丶上传的的servlet package com.test.action; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.List; import javax.servlet.ServletExcepti

  • 使用 jQuery.ajax 上传带文件的表单遇到的问题

    今天帮人看代码的时候,遇到一点小问题.使用 jQuery 上传带文件的表单时,会有些问题. 首先,因为使用的是 FormData,所以必须在传入 $.ajax 的参数中配置 processData: false. 否则将会抛出 Illegal invocation 的异常,因为 jQuery 默认是会对传入的 data 字段的数据进行处理的. 官方文档是这么解释的: 其次,注意请求的 Content-Type 首部,默认是 application/x-www-form-urlencoded; c

  • PHP中上传大体积文件时需要的设置

    不用说,还得找PHP配置文件php.ini的麻烦:) 打开php.ini,首先找到 ; File Uploads ; 区域,有影响文件上传的以下几个参数: file_uploads  =  on  ;是否允许通过HTTP上传文件的开关.默认为ON即是开 upload_tmp_dir  ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 upload_max_filesize  =  8m  ;望文生意,即允许上传文件大小的最大值.默认为2M 在 ; Data Handl

  • JavaScript实现动态增加文件域表单

    js代码: 复制代码 代码如下: <script language="javascript"> //全局变量,代表文件域的个数,并用该变量区分文件域的name属性 var file_count = 0; //增加文件 域 function additem(id) { if (file_count > 9) { alert("最u22810 10个u25991 件u22495 "); return; } //定义行变量row:单元格变量cell:单元

  • .Net语言Smobiler开发之如何在手机上实现表单设计

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"Smobiler Components"拖动一个一个TableView控件到窗体界面上 2.修改GridView控件的属性 a.load事件代码 VB: Private Sub TestTableView_Load(sender As Object, e As EventArgs)Handles My

  • 上传多个文件的PHP脚本

    译者注:本文的原名是<Creating a Multi-File Upload Script in PHP>.我个个觉得这文章写得一般,代码也不是非常专业,但是它比较短,而且一时间也找不到好一点的文章,就把这个译过来了.其实PHP手册里也有一节是说多文件上传的,大家可以对比对比.文章内有的字句译出来不太顺眼,所以按照原意作了一定量的修改.本人水平有限,还望各位高手多指点. 导言 作为一个PHP的程序员,我曾遇到过这么一个客户,他需要一个可以同时上传多个文件的表单.因此,一天夜里我就用了一个小时

  • Vue导入excel文件的两种方式(form表单和el-upload)

    目录 前言 第一种方法:form表单 一.文件上传的三要素是什么? 二.具体使用步骤 第二种方法:el-upload 总结 前言 两种导入文件的方法:form表单和el-upload 第一种方法:form表单 一.文件上传的三要素是什么? 文件上传的三要素: 表单post请求 input框的type=file 在form表单中添加enctype=“multipart/form-data” 二.具体使用步骤 代码如下(示例): <form action="/" method=&qu

随机推荐