文件上传后端处理页面

最近想搭建一个完整的网站,加深理解,困难重重啊,遇到很多问题

前端:非常原始的代码,没有用任何框架

html 复制代码
<form method="post" enctype="multipart/form-data" action="upfile.php">
    <label for="file">选择要上传的文件</label>
    <input type="file" id="file" name="file" multiple />
    <button>提交</button>
  </form>

后端:这里用php演示,Java的感觉有些复杂,个人用apache多一些,对tomcat和Java也不熟

php 复制代码
<?php
$uploadDir = './web/'; // 指定上传文件保存的目录

if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
    $filename = basename($_FILES['file']['name']);
    $destination = $uploadDir . $filename;

    if (move_uploaded_file($_FILES['file']['tmp_name'], $destination)) {
        echo '<script>alert("文件上传成功!");window.history.back();</script>';
    } else {
        echo '<script>alert("文件上传失败");window.history.back();</script>';
    }
} else {
    echo '<script>alert("文件上传出错");window.history.back();</script>';
}
?>

学习新知识:

在php.ini中找到了关于文件上传的一些配置,上传文件默认最大2M,请求体默认最大接收8M

ini 复制代码
post_max_size = 8M
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M

PHP 将随文件信息数组一起返回一个对应的错误代码。该代码可以在文件上传时生成的文件数组中的 error 字段中被找到,也就是 $_FILES['file']['error']

数值 常量 含义
0 UPLOAD_ERR_OK 文件上传成功
1 UPLOAD_ERR_INI_SIZE 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值
2 UPLOAD_ERR_FORM_SIZE 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值
3 UPLOAD_ERR_PARTIAL 文件只有部分被上传
4 UPLOAD_ERR_NO_FILE 没有文件被上传
6 UPLOAD_ERR_NO_TMP_DIR 找不到临时文件夹
7 UPLOAD_ERR_CANT_WRITE 文件写入失败
8 UPLOAD_ERR_EXTENSION PHP扩展阻止了文件上传
相关推荐
huangyiyi6666610 小时前
轮询那些事儿
javascript·前端框架·vue·js
Ya-Jun3 天前
快应用TypeError: The ‘compilation‘ argument must be an instance of Compilation错误
node.js·ux·js
歪歪1004 天前
在哪些场景下适合使用 v-model 机制?
服务器·前端·javascript·servlet·前端框架·js
闫辉4 天前
HackerNews 播客生成器
node.js·js
~无忧花开~7 天前
JavaScript学习笔记(二十八):JavaScript性能优化全攻略
开发语言·前端·javascript·笔记·学习·性能优化·js
爱偷懒的。。8 天前
基于 WebSocket 协议的实时弹幕通信机制分析-抖音
网络·python·websocket·网络协议·学习·js
棋子一名10 天前
跑马灯组件 Vue2/Vue3/uni-app/微信小程序
微信小程序·小程序·uni-app·vue·js
EterNity_TiMe_12 天前
上手 Rokid JSAR:新手也能快速入门的 AR 开发之旅
ar·js·rokid
TeleostNaCl13 天前
实战 | 使用 Chrome 开发者工具修改网页源码跳过前端校验
前端·chrome·经验分享·后端·js
吹晚风吧18 天前
什么是跨域?跨域怎么解决?跨域解决的是什么问题?
java·vue.js·js·cors