php网站上传文件失败File upload failed(文件大小超过限制)

php项目中,用户上传文件报错:"File upload failed",按如下代码输出文件名:

php 复制代码
$temp_name = $_FILES['file']['tmp_name'];
$file_name = basename($_FILES['file']['name']);

echo "Temporary File Name: " . $temp_name . "<br>";
echo "File Name: " . $file_name . "<br>";

发现打印出来的temp_name 和file_name都为空,我换了个小点的文件(里面只有一个txt),结果上传成功,也能输出文件名,这说明是上传的文件超过了限制。

解决办法

1. 检查 upload_max_filesize 和 post_max_size 的值,在PHP 代码中添加以下代码,用于输出当前的配置值:

bash 复制代码
echo "upload_max_filesize: " . ini_get('upload_max_filesize') . "<br>";
echo "post_max_size: " . ini_get('post_max_size') . "<br>";

结果如下:

2. 修改php配置文件

我的文件是60M,超过了限制,所以需要修改php配置文件(php.ini路径见附录)中的upload_max_filesize和post_max_size。

upload_max_filesize 是文件上传的最大大小,而 post_max_size 是 POST 请求的最大大小,包括表单数据和上传的文件。确保它们的值足够大以容纳预期的文件大小。

打开php.ini,搜索upload_max_filesize和post_max_size,都改成1000M(根据自己的需求修改):

注意:可能需要管理员权限来进行这些更改。修改完成后,记得重新启动 Web 服务器以使更改生效 。

如果还报错,可以试着将nginx.conf中的client_max_body_size改大一点。

附录---如何查找php.ini:

如果无法找到 php.ini 文件,在终端或命令提示符中运行以下命令:

bash 复制代码
php --ini

这会显示 PHP 使用的配置文件路径。

相关推荐
damoluomu2 天前
挑 PHP CMS 之前,先学会看它的协议
php
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
千里马学框架2 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone2 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
致远ccc2 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
ttyyttemo3 天前
Kotlin 协程中的 Job 结构化并发与取消
android