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

单文件上传php

upload1.phphtml

<!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会输出什么?(查看输出结果的网页源代码)

没有选择文件时:html5

选择文件后:数组



多个单文件上传post

upload2.phpspa

<!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,运行查看结果网页源代码。code

没有选择文件时:orm


上传部分文件时:htm




多文件上传blog

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,运行查看结果网页源代码。

没有选择文件时:


选择部分文件:


结果: