PHP的单个文件上传、多个单文件上传、多文件上传

大憨熊 提交于 2019-12-05 17:35:01

单文件上传

upload1.php

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>单文件上传</title>
</head>
<body>
    <form action="doAction5.php" method="post" enctype="multipart/form-data">
        请选择您要上传的文件:
        <input type="file" name="myFile"/><br/>
        <input type="submit" value="上传文件"/>
    </form>
</body>
</html>

我们提交到 doAction5.php

<?php
/**
 * Created by PhpStorm.
 * User: DreamBoy
 * Date: 2016/4/8
 * Time: 21:39
 */
header('content-type:text/html;charset=utf-8');
print_r($_FILES);
exit();
我们先来看看单个文件上传后doAction5.php会输出什么?(查看输出结果的网页源代码)

没有选择文件时:

选择文件后:



多个单文件上传

upload2.php

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>多个单文件上传</title>
</head>
<body>
    <form action="doAction5.php" method="post" enctype="multipart/form-data">
        请选择您要上传的文件:<input type="file" name="myFile1"/><br/>
        请选择您要上传的文件:<input type="file" name="myFile2"/><br/>
        请选择您要上传的文件:<input type="file" name="myFile3"/><br/>
        请选择您要上传的文件:<input type="file" name="myFile4"/><br/>
        <input type="submit" value="上传文件"/>
    </form>
</body>
</html>

同样提交到doAction5.php,运行查看结果网页源代码。

没有选择文件时:


上传部分文件时:




多文件上传

upload3.php

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>多文件上传</title>
</head>
<body>
    <form action="doAction5.php" method="post" enctype="multipart/form-data">
        请选择您要上传的文件:<input type="file" name="myFile[]"/><br/>
        请选择您要上传的文件:<input type="file" name="myFile[]"/><br/>
        请选择您要上传的文件:<input type="file" name="myFile[]"/><br/>
        请选择您要上传的文件:<input type="file" name="myFile[]"/><br/>
        <input type="submit" value="上传文件"/>
    </form>
</body>
</html>

同样提交到doAction5.php,运行查看结果网页源代码。

注意:从结果我们可以发现这样的多文件提交方式,$_FILES将是一个3维数组,此前的单文件上传或多个单文件盛传$_FILES是一个二维数组。这里也可以看出“多个单文件上传“和”多文件上传“的区别。

没有选择文件时:


选择部分文件时:



混合方式提交文件

upload4.php

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>混合方式文件上传</title>
</head>
<body>
    <form action="doAction5.php" method="post" enctype="multipart/form-data">
        请选择您要上传的文件:<input type="file" name="myFile1"/><br/>
        请选择您要上传的文件:<input type="file" name="myFile2"/><br/>
        请选择您要上传的文件:<input type="file" name="myFile[]"/><br/>
        请选择您要上传的文件:<input type="file" name="myFile[]"/><br/>
        请选择您要上传的文件:<input type="file" name="myFile[]" multiple="multiple"/><br/>
        <input type="submit" value="上传文件"/>
    </form>
</body>
</html>
其中 
<input type="file" name="myFile[]" multiple="multiple"/>
multiple="multiple" 是html5中多文件上传的一种写法。此时我们点击input后可以在选择文件界面按住 Ctrl 键选择多个文件。输出结果与 写了多次 
请选择您要上传的文件:<input type="file" name="myFile[]"/>

相似。

同样提交到doAction5.php,运行查看结果网页源代码。

没有选择文件时:


选择部分文件:


结果:






易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!