php实现文件上传需要通过全局变量(数组):$_FILES 结合 move_uploaded_file 函数来实现。
move_uploaded_file函数(只对POST方式生效):
其中move_uploaded_file函数语法:move_uploaded_file(需要移动的文件,移动的目的地址);
如果移动成功范围true,否则返回false。
$_FILES全局变量(数组):
$_FILES['input文件上传控件设置的name属性的值']['name']:获取上传文件的名称
$_FILES['input文件上传控件设置的name属性的值']['type']:获取上传文件的MIME类型
$_FILES['input文件上传控件设置的name属性的值']['size']:获取上传文件的大小(以大B字节为单位)
$_FILES['input文件上传控件设置的name属性的值']['tmp_name']:获取上传的文件在服务器的临时文件名
$_FILES['input文件上传控件设置的name属性的值']['error']:获取上传错误代码
简单的上传案例(index.html与up.php处于同一级目录):
index.html代码:
<!DOCTYPE html>
<html>
<head>
<title>文件上传</title>
<meta charset="utf-8">
</head>
<body>
<form action="./up.php" method="post" enctype="multipart/form-data">
<div>
<input type="file" name="upfile">
<input type="submit">
</div>
</form>
</body>
</html>
up.php代码:
<?php
$path = './up/'.$_FILES['upfile']['name']; //定义文件的保存位置(以自定义路径+文件的原文件名为例)
if(move_uploaded_file($_FILES['upfile']['tmp_name'], $path)) { //获取上传文件在服务器上的临时名称,将上传的临时文件移动到定义的位置。如果将临时文件移动到了定义的位置,则提示上传成功,否则提示上传失败
echo "上传成功";
} else{
echo "上传失败";
}
?>