首页 >后端开发 >php教程 >PHP文件上传-多文件上传的示例代码详解

PHP文件上传-多文件上传的示例代码详解

黄舟
黄舟原创
2017-04-18 11:34:316337浏览

PHP文件上传—多文件上传的示例代码详解

PHP 支持同时上传多个文件并将他们的信息自动以数组的形式命名,想要实现这样的功能其实很简单,只需要在 HTML 表单中的对文件上传域使用和多选框与复选框的数组式提交语法。

那么在上一篇《PHP文件上传-move_uploaded_file()函数》中介绍了上传文件的函数,只是介绍了该函数的使用,以及单文件上传,本章将介绍多文件上传实现的方法!

在之前的文章《PHP综合运用数组函数-实现多文件上传》中也有所介绍了,在PHP中,当浏览器客户端提交过来的表单请求中包含上传的文件时,PHP 会将上传的文件先暂时存放临时目录中,然后将上传文件的信息存放在全局变量$_FLIES中, 所以我们只需要通过$_FILES数组获取上传文件的信息,然后对其进行相对应的处理操作就可以了!

下面的实例有 4个文件上传域,文件域的名字为 u_file[],提交后上传的文件信息都会被保存到$_FILES['u_file']中,生成多为数组,读取数组信息,并且上传文件,具体实例代码如下:

<html>
<body>
    <!--上传文件表单-->
    <form method="post" action="" enctype="multipart/form-data">
        <table id="up_table" border="1" bgcolor="f0f0f0">
            <tbody id="auto">
            <tr id="auto">
                <td>上传文件</td>
        <td><input type="file" name="u_file[]"></td>
                </tr>
            <tr>
                <td>上传文件</td>
                <td><input name="u_file[]" type="file"></td>
            </tr>
            <tr>
                <td colspan="4">
                    <input type="submit" value="上传" >
                </td>
            </tr>
            </tbody>
            </table>
        </form>
</body>
</html>
<?php
header("Content-Type:text/html; charset=utf-8");
if(!empty($_FILES[&#39;u_file&#39;][&#39;name&#39;])){       //判断变量$_FILES是否为空
     $file_name = $_FILES[&#39;u_file&#39;][&#39;name&#39;];      //将上传文件名另存为数组
    $file_tmp_name = $_FILES[&#39;u_file&#39;][&#39;name&#39;];  //将上传文件的临时文件名存为数组
    for($i=0;$i<count($file_name);$i++){         //循环上传文件
        if($file_name[$i]!=""){                  //判断上传文件名是否为空
            move_uploaded_file($file_tmp_name[$i],$i.$file_name[$i]);
            echo "文件".$file_name[$i]."上传成功,更名为".$i.$file_name[$i]."<br>";
        }
    }
}
?>

输出结果如下:

30.png

总结:

关于文件系统,我们首先介绍了对文件的基本操作,然后学习了对目录的基本操作,接着我们学习了文件的高级处理技术,最后学习了 PHP 的文件上传技术。文件系统是开发了一个网站必不可少的组成部分,希望大家能够理解文件系统的重点知识点,掌握常用函数。下一专题我们不见不散!

以上是PHP文件上传-多文件上传的示例代码详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn