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

?>
相关推荐
sbjdhjd2 小时前
从 assert 动态调用报错到临时文件链路:PHP 5.6 与 7.3 授权靶场中的短 payload 复盘 | (17字符绕过)
安全·网络安全·数据挖掘·开源·云计算·php·字符绕过
sbjdhjd2 小时前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
fengkai45452 小时前
七、华为云网络综合实验 & 运维类及其他服务总结
服务器·开发语言·php
PHP实战开发录2 小时前
PHP日志写满磁盘后接口为什么异常
开发语言·系统架构·php·开发
妙码生花3 小时前
golang 应用服务端部署(使用 systemd 服务)
开发语言·人工智能·后端·golang·node.js·php·gin
PHP实战开发录10 小时前
PHP事务异常后为什么数据还写进去了
mysql·php·开发
隔窗听雨眠14 小时前
记一次SQL Server数据库性能分析:从CPU100%到单配置修复的完整诊断
开发语言·数据库·php
三84415 小时前
PHP Session 反序列化(2):漏洞根因 —— 序列化处理器错位与对象注入
android·web安全·php·反序列化·session
秦老师Q15 小时前
php零基础入门到实战,从语法到框架,一篇搞定
开发语言·php
后台模板学习17 小时前
2026最新面试真题:到达用英语怎么说背后的逻辑与源码剖析
面试·职场和发展·php