php如何实现文件上传

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代码:

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 复制代码
<?php 


$path = './up/'.$_FILES['upfile']['name'];         //定义文件的保存位置(以自定义路径+文件的原文件名为例)


if(move_uploaded_file($_FILES['upfile']['tmp_name'], $path)) {          //获取上传文件在服务器上的临时名称,将上传的临时文件移动到定义的位置。如果将临时文件移动到了定义的位置,则提示上传成功,否则提示上传失败
    echo "上传成功";  
} else{  
    echo "上传失败";  
}

?>
相关推荐
ServBay17 小时前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户9623779544819 小时前
CTF 伪协议
php
BingoGo3 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack3 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo4 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack4 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack5 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo5 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack6 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理7 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php