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 "上传失败";  
}

?>
11-23 10:35