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

时间:2022-09-30 21:38:25

单文件上传

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

没有选择文件时:

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

选择文件后:

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

没有选择文件时:

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

上传部分文件时:

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是一个二维数组。这里也可以看出“多个单文件上传“和”多文件上传“的区别。

没有选择文件时:

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

选择部分文件时:

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


混合方式提交文件

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

没有选择文件时:

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

选择部分文件:

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

结果:

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

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