HTML代码

1
2
3
4
5
6
7
8
9
10
11
12
13
<form action='upload.php' method='post' enctype='multipart/form-data'>
<div class="form-group form-inline">
<label for="file1" class="control-label">文件1</label>
<input type="file" class="form-control" name="file1" />
</div>
<div class="form-group form-inline">
<label for="file2" class="control-label">文件2</label>
<input type="file" class="form-control" name="file2" />
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</form>

服务端

这里,file1选择的是一个文件名为info.txt的文件,file2没有选择文件。

执行 var_dump($_FILES),可以看到FILES的一些数据。

1
array(2) { ["file1"]=> array(5) { ["name"]=> string(8) "info.txt" ["type"]=> string(10) "text/plain" ["tmp_name"]=> string(14) "/tmp/php2wrIFG" ["error"]=> int(0) ["size"]=> int(432) } ["file2"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } }

可知 $_FILES 的数据实际上就是

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"file1": {
"name": "info.txt",
"type": "text/plain",
"tmp_name": "/tmp/phpCEWE8v",
"error": 0,
"size": 432
},
"file2": {
"name": "",
"type": "",
"tmp_name": "",
"error": 4,
"size": 0
}
}

把文件存放到指定路径

  • 先要保证对当前目录有写权限
  • 新建当前路径下的temp目录
  • 移动文件到temp目录下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$dir_path = "./temp";
if(!file_exists($dir_path))
{
mkdir($dir_path, 0777);
}

foreach($_FILES as $key => $file)
{
$to_path = $dir_path."/".$file["name"];
if($file["error"] == 0)
{
move_uploaded_file($file["tmp_name"], $to_path);
}
}