test.php(前端代码)
<!DOCTYPE html>
<html>
<head>
<title>文件上传测试</title>
<meta charset="utf-8">
</head>
<body>
<form action="do.php" method="post" enctype="multipart/form-data">
<input type="file" name="img">
<input type="submit" value="上传文件">
</form>
</body>
</html>
解释:
- from标签下的method必须为post
- 要添加enctype="multipart/from-data"
do.php(from表单处理文件)
<?php
print_r($_FILES);
?>
解释:
print_r() 将表单传递过来的数据输出为一个数组
输出为:
Array (
[img] => Array (
[name] => 1.jpg
[type] => image/jpeg
[tmp_name] => C:\Windows\Temp\phpFF07.tmp
[error] => 0
[size] => 17164
)
)
- name:上传文件的名称
- type:上传文件的MIME类型
- tmp_name:上传到服务器(或本地)的临时文件名
- size:上传文件的大小
- error:上传文件的错误号
do.php(成功实现文件上传到指定文件夹)
方法一:
<?php
print_r($_FILES);
$filename=$_FILES['img']['name'];
$type=$_FILES['img']['type'];
$tmp_name=$_FILES['img']['tmp_name'];
$size=$_FILES['img']['size'];
$error=$_FILES['img']['error'];
//将服务器上的临时文件移动到指定目录下
move_uploaded_file($tmp_name, "img/".$filename);
其中$_FILES为文件上传变量,存储文件上传的数据
move_uploaded_file($tmp_name,"指定文件夹名".$filename);
将服务器上的临时文件移动到指定目录,成功返回true,失败返回false
方法二:
copy($tmp_name, "img/".$filename);