文件上传后端处理页面
最近想搭建一个完整的网站,加深理解,困难重重啊,遇到很多问题
前端:非常原始的代码,没有用任何框架
<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
$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
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扩展阻止了文件上传 |
相关文章:
文件上传后端处理页面
最近想搭建一个完整的网站,加深理解,困难重重啊,遇到很多问题 前端:非常原始的代码,没有用任何框架 <form method"post" enctype"multipart/form-data" action"upfile.php"><…...
小红书母婴类产品同质化严重,如何在市场中脱颖而出?
小红书是一个女性用户为主的平台,其美妆和母婴类产品是平台的主流类目。今天来分享下小红书母婴类产品同质化严重,如何在市场中脱颖而出? 一、小红书平台的母婴传播优势 尽管小红书的母婴品类,已经出现产品同质化严重的问题。但这…...
Typora上使用Mermaid语法展示流程图、时序图、甘特图
你已经安装Typora并打开了一个新文档后,可以按照以下详细步骤在Typora上使用Mermaid语法展示流程图、时序图、甘特图 流程图 使用graph LR声明开始,并使用箭头和连接符号定义节点之间的关系。例如,A --> B表示从节点A指向节点B的箭头连接。graph TB A[界面布局图] -->…...
css中文本阴影特效
文字颜色渐变 .text-clip{color:transparent;font-size: 40px;font-weight: bold;background: linear-gradient(45deg, rgba(0,173,181,1) 0%, rgba(0,173,181,.4) 100%);-webkit-background-clip: text; } 文字模糊 .text-blurry{text-align: center;color: transparent;text-…...
ITIL帮助台怎样帮助企业建设IT服务?
大多数企业都是从邮件开始IT支持建设的,随着企业的规模扩大、服务请求的增长,服务质量不可避免出现了急剧的下降。IT支持团队进入消防员模式,他们只能奔波于解决请求,避免服务失败。没有ITIL所定义的流程体系,IT团队失…...
解释区块链技术的应用场景和优势
区块链是一种去中心化的分布式数据库,在其中记录着多个节点之间的交易信息。它的应用场景非常广泛,以下是一些常见的应用场景和优势: 金融交易:区块链可以用来记录交易信息,从而实现去中心化的金融交易。比如比特币就是…...
从编程语言的角度来理解正则表达式
程序代码是对现实事物处理逻辑的抽象,而正则表达式,则是对复杂的字符匹配程序代码的进一步抽象;也就是说,高度简洁的正则表达式,可以认为其背后所对应的,是字符匹配程序代码,而字符匹配程序代码…...
DP读书:鲲鹏处理器 架构与编程(十四)ACPI与软件
一分钟速通ACPI和鲲鹏软件移植 操作系统内核鲲鹏软件移植鲲鹏软件移植流程 编译工具选择编译参数移植案例源码修改案例鲲鹏分析扫描工具 Dependency Advisor鲲鹏代码迁移工具 Porting Advisor 鲲鹏软件性能调优鲲鹏软件性能调优流程CPU与内存子系统性能调优网络子系统性能调优磁…...
C#,《小白学程序》第六课:队列(Queue)的应用,《实时叫号系统》
医院里面常见的叫号系统怎么实现的? 1 文本格式 /// <summary> /// 下面定义一个新的队列,用于演示《实时叫号系统》 /// </summary> Queue<Classmate> q2 new Queue<Classmate>(); /// <summary> /// 《小白学程序》第…...
mysql profiling profiles profile
要想优化一条 Query,我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里,是消耗的 CPU计算太多,还是需要的的 IO 操作太多?要想能够清楚的了解这些信息,在 MySQL 5.0 和 MySQL 5.1正式版中已经可以非常容易做到了&a…...
ChatGPT AIGC 一个指令总结Python所有知识点
在ChatGPT中,直接输入一个指令就可以生成Python的所有知识点大纲。 非常实用的ChatGPT功能。 AIGC ChatGPT ,BI商业智能, 可视化Tableau, PowerBI, FineReport, 数据库Mysql Oracle, Office, Python ,ETL Excel 2021 实操,函数,图表,大屏可视化 案例实战 http://t.…...
【kubernetes】k8s部署OpenELB及在KubeSphere使用OpenELB
OpenELB 官网 https://openelb.io 本文内容学习于马士兵云原生课程 概述 OpenELB is an open-source load balancer implementation designed for bare-metal Kubernetes clusters. OpenELB是一个为裸机Kubernetes集群设计的开源负载均衡器实现。 In cloud-based Kubernetes cl…...
Android Native Code开发学习(三)对java中的对象变量进行操作
Android Native Code开发学习(三) 本教程为native code学习笔记,希望能够帮到有需要的人 我的电脑系统为ubuntu 22.04,当然windows也是可以的,区别不大 对java中的对象变量进行操作 首先我们新建一个java的类 pub…...
如何用bat文件调用与它在同一文件夹下的某个exe程序
第一个方案: 如果bat文件与某个exe程序在同一文件夹下的。那直接写那个 程序文件名字就行了。 两种写法。比如是 test.exe程序 一种 test.exe 二种 start test.exe 第一种批处理会等待test.exe程序执行完后才会运行下面的语句 第二种不会等待 这个写绝对路径好用 另…...
设计模式--单例模式(Singleton Pattern)
一、什么是单例模式 单例模式是一种创建型设计模式,它旨在确保一个类只有一个实例,并提供一个全局访问点来访问该实例。换句话说,单例模式限制了类的实例化次数为一个,并提供一种在应用程序中共享一个实例的方式。这对于需要只有…...
postgis数据库从一张表中过滤出一部分数据到新表中
你可以使用以下步骤在PostGIS数据库中过滤objectid<100的数据,并将其创建为新表:打开PostGIS数据库的终端或客户端工具(如Psql)。 选择你要过滤数据的表。假设表名为"original_table",该表包含一个名为&q…...
INDEMIND:“大+小”多机协同,实现机器人商用场景全覆盖
随着商用清洁机器人进入越来越多的场景中,单一的中型机器人并不能有效覆盖所有区域,更加细分化的产品组合正在成为新的趋势。 产品形态的“新趋势” 在商用场景中,目前的商用清洁机器人几乎均是中大型的产品形态,较大的体型意味…...
微信开发之一键创建标签的技术实现
简要描述: 添加标签 请求URL: http://域名地址/addContactLabel 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明…...
八一参考文献:[八一新书]许少辉.乡村振兴战略下传统村落文化旅游设计[M]北京:中国建筑出版传媒,2022.
八一参考文献:[八一新书]许少辉.乡村振兴战略下传统村落文化旅游设计[M]北京:中国建筑出版传媒,2022....
ChatGPT⼊门到精通(7):GPT3.5与 4.0区别
⼀、详细区别 1 项⽬ GPT3.5 GPT4.0 2 打字速度 较慢,⾼峰期更慢 更加慢,差别不⼤ 3 掉线⼏率 经常掉线 很少掉线 4 分段能⼒ ⽣成⼏百字后就停⽌了, 需要回复“继续”,有时候不 是很连贯 基本连贯 5 使⽤限制 1⼩时100次提问&am…...
Wan2.2-I2V-A14B保姆级教程:从云服务器选购(CPU/内存/磁盘)到镜像运行全链路
Wan2.2-I2V-A14B保姆级教程:从云服务器选购到镜像运行全链路 1. 前言:为什么选择私有部署 在当今视频内容需求爆炸式增长的时代,能够快速生成高质量视频内容的能力变得尤为重要。Wan2.2-I2V-A14B作为一款先进的文生视频模型,可以…...
AI绘画新体验:图图的嗨丝造相快速上手,轻松生成时尚渔网袜风格图片
AI绘画新体验:图图的嗨丝造相快速上手,轻松生成时尚渔网袜风格图片 1. 认识图图的嗨丝造相-Z-Image-Turbo 1.1 什么是嗨丝造相模型 图图的嗨丝造相-Z-Image-Turbo是一款专注于生成时尚渔网袜风格图片的AI绘画模型。它基于先进的图像生成技术ÿ…...
Qwen2.5深度微调成果展示|像素剧本圣殿在武侠/赛博朋克题材表现
Qwen2.5深度微调成果展示|像素剧本圣殿在武侠/赛博朋克题材表现 1. 项目概览 像素剧本圣殿(Pixel Script Temple)是基于Qwen2.5-14B-Instruct深度微调的专业剧本创作工具。这个独特的创作环境将先进的大语言模型能力与8-Bit复古美学完美融合…...
从Linux内核页表映射到用户态HugeTLB池:金融级C++内存池的7层硬件协同优化法(仅限TOP20对冲基金内部文档解密版)
第一章:金融高频交易C内存池的硬件协同优化全景图在纳秒级响应要求的金融高频交易系统中,C内存池不再仅是软件抽象层的性能补丁,而是CPU缓存子系统、内存控制器与DRAM物理特性的协同执行面。现代x86-64平台(如Intel Ice Lake-SP或…...
万象视界灵坛保姆级教程:GPU显存不足时启用CPU offload策略
万象视界灵坛保姆级教程:GPU显存不足时启用CPU offload策略 1. 教程概述 当你在使用万象视界灵坛进行图像语义分析时,可能会遇到GPU显存不足的问题。本教程将手把手教你如何通过CPU offload策略解决这个问题,让你即使在没有高端显卡的情况下…...
Phi-4-mini-reasoning vLLM部署避坑指南:日志排查、加载失败诊断与修复步骤
Phi-4-mini-reasoning vLLM部署避坑指南:日志排查、加载失败诊断与修复步骤 1. 模型简介与环境准备 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据,并进一步微调以提高更高级的数学推理能力。…...
PhotoScan软件在无人机航测数据处理中的高效应用流程
1. 无人机航测数据处理入门指南 第一次接触无人机航测数据处理的同学可能会觉得这是个高大上的技术活,其实只要掌握了PhotoScan这个神器,处理起来比想象中简单得多。我刚开始接触时也走了不少弯路,现在把最实用的经验分享给大家。 PhotoScan是…...
STM32标准库开发入门与实战指南
1. STM32入门指南:从零开始掌握标准库开发作为一名嵌入式开发者,我深知STM32的学习曲线有多陡峭。记得我第一次接触STM32时,面对密密麻麻的寄存器手册和复杂的开发环境,完全不知从何入手。经过多年的项目实践和教学经验࿰…...
G-Helper终极指南:华硕笔记本轻量级控制工具完全教程
G-Helper终极指南:华硕笔记本轻量级控制工具完全教程 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Sca…...
PyTorch版本升级踩坑实录:从1.10.0到1.10.1为何导致CUDA不兼容?
PyTorch小版本升级的隐秘陷阱:CUDA兼容性深度解析与实战解决方案 当你满怀期待地执行pip install --upgrade torch命令,将PyTorch从1.10.0升级到1.10.1时,可能不会想到这个看似无害的小版本更新会让你的GPU突然"罢工"。这不是个例…...
