文章目录

  • 原因1查找:大小限制
    • 全部参数解释
    • $_FILES[‘myFile’][‘error’] 值
    • 解决
      • 修改其他参数
    • 另外补充:文件上传结束后去向
  • 原因2查找:脚本停止运行
  • 原因3查找:post_max_size

原因1查找:大小限制

可以通过

var_dump($_FILES['变量名'])

来打印一下错误信息

例如:

  // 打印上传资源信息var_dump($_FILES['source']);// 判断是否上传成功if ($source['error'] !== UPLOAD_ERR_OK) {$GLOBALS['error_message'] = '上传音乐文件失败1';return;}

显示 error参数为1 , 即该文件上传相关的状态码。

那么这些参数是什么意思呢?

全部参数解释

PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。

  • $_FILES[‘myFile’][‘name’]客户端上次文件的原始名称。

  • $_FILES[‘myFile’][‘type’]文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。

  • $_FILES[‘myFile’][‘size’]已上传文件的大小,单位为字节。

  • $_FILES[‘myFile’][‘tmp_name’]文件被上传后在服务端储存的临时文件名,一般是系统默认。
    可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。

  • $_FILES[‘myFile’][‘error’]和该文件上传相关的状态码。
    [‘error’] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)

$_FILES[‘myFile’][‘error’] 值

UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。 UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
值:5; 上传文件大小为0.

解决

例如上文案例,错误是1 ,那么就是上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。

那么就去修改php.ini文件中的参数就可以了。
(php.ini就在php的安装目录下 和php.exe放在一起)

修改其他参数

如果有其他参数问题,修改其他参数就可以了

1.file_uploads=on/off是否允许通过http方式上传文件2.max_execution_time=30允许脚本最大执行时间,超过这个时间就会报错3.memory_limit=50M设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了
–enable-memory-limit标志的情况下才生效4.upload_max_filesize=20M允许上传文件的最大大小,此指令必须小于post_max_size5.upload_tmp_dir上传文件临时存放目录6.post_max_size=30M允许post方式可以接受最大大小

另外补充:文件上传结束后去向

文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。

也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。

原因2查找:脚本停止运行

附:修改PHP上传文件大小限制的方法

在这里插入代码片一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.
但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.

这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time

在php.ini里查找

max_execution_time

默认是30秒.改为

max_execution_time = 0

0表示没有限制

原因3查找:post_max_size

修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。

php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为

post_max_size = 150M

很多人都会改了第二步.但上传文件时最大仍然为 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。

查找upload_max_filesize,默认为8M改为

upload_max_filesize = 100M

另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

php上传文件失败解决方案相关推荐

  1. 关于在node.js 中使用formData 发送axios上传文件失败解决方案

    最近用到了node.js进行文件上传到其他服务器,在使用formData 上传时候遇到对方接口处理失败问题 问题原因 因为node.js 中 axios 没法识别 Content-Type 设置,所以 ...

  2. 阿里云OSS上传请求403问题的完美解决方案及uni.uploadFile h5上传文件失败完美解决方案

    在使用阿里云OSS服务时,会用到跨域AJAX上传,上传时报403错误,之前遇到过此类问题并成功解决了,但时间长了遗忘,因此记录下来以备后续学习了解ajax跨域上传OSS. ajax跨域上传首先会发送o ...

  3. 记在k8s的pod上使用apache的commons-net:ftp功能时,ftp一直上传文件失败

    2019独角兽企业重金招聘Python工程师标准>>> 在k8s的pod上使用apache的commons-net:ftp功能时,一直显示: 即上传文件失败,但是在本地环境进行上传时 ...

  4. Hadoop上传文件失败

    HDFS上传文件失败的原因以及解决方法 本来打算上传一个文件 hdfs dfs -put /opt/software/upload.txt /test 但是报错了!!! 百度了很多,但是没有一条适合我 ...

  5. 上传文件失败问题 error为7

    一个站点上传文件失败 error为7  UPLOAD_ERR_CANT_WRITE 临时文件上传不上  $_FILE打出来 Array (     [file] => Array         ...

  6. TFS文档管理,上传文件失败报错【TF30042】The database is full. 数据库已满,解决办法及步骤

    在TFS是用过程中,上传文件失败,发现报错[TF30042],问题截图长这样: 分3步排查问题, 第1步:先查看自己TFS所在数据库存储情况,方法如下: 打开SQL Server Management ...

  7. 英文投稿系统上传文件失败怎么办?

    英文投稿系统上传文件失败怎么办? 文件上传失败的几个原因 文件上传失败的几个解决方法 文件上传失败的几个原因 1.文件格式不符合投稿系统要求(比如:文件太大或者图片格式不符合要求或者文件类型不符合要求 ...

  8. sftp上传文件失败解决

    同事求助,说他用sftp上传文件失败. 首先想到的是权限问题.于是登陆服务器,cd到上传目录,ls -l看上去没问题. 测试一下吧,用我自己的帐号sftp登陆,随便传一个文件,成功了. 哈,问题范围缩 ...

  9. cuteftp上传文件失败,提示权限失败

    记事: 通过cuteftp在服务器的linux上搭建gcc交叉编译工具链时,发现上传文件失败并且提示权限不足,于是百度得知新建的文件夹权限可能不足,于是通过""chmod 权限 文 ...

最新文章

  1. 多人编辑、共享思维导图
  2. MYSQL的深入学习--优化步骤
  3. python课程推荐-课程推荐:四天人工智能 python入门体验课
  4. python dict常用操作
  5. hdu 1022 Train Problem I 解题报告
  6. modelsim显示状态机名称的方法
  7. python自动化测试脚本怎么编写_编写自动化测试脚本心得---菜鸟入门篇
  8. 微课|Python三种方法统计各分数段内的人数(17分钟)
  9. 互联网公司面试必问的mysql题目(上)
  10. eplan窗口宏与符号宏是什么_如何使用EPLAN里的宏值集?
  11. SQL Server安装教程
  12. 伺服驱动器cn1引脚定义_伺服驱动器CN1引脚定义,和面板操作设置,跪求高手指点。说明书弄丢了.脉冲,使能,方向,接第几引脚...
  13. 对于pdf转图片linux乱码的解决
  14. 有哪些支持 HomeKit 的智能家居生态值得推荐?
  15. 全国计算机等级考试 三级网络技术 知识点总结
  16. Windows环境下安装Oracle11g客户端
  17. Axure实战——实现登录注册功能
  18. 免费桌面视频录像工具OBS的简单操作介绍
  19. oracle 执行计划(F5)详解
  20. 软件加密系统Themida应用程序保护指南(七):外挂插件

热门文章

  1. educoder 2-2Python 计算思维训练——循环与列表(二)
  2. 解决 Mounty显示问题:the volume my passport is not mounted currently at the specified path Please remove
  3. PredRNN++:网络结构和代码解读
  4. 程序员的一天:硅谷女程序员 mayuko
  5. SAP PS 项目编码配置 OPSJ/OPSK
  6. Oracle创建表空间和用户
  7. Guiding Teacher Forcing with Seer Forcing for Neural Machine Translation翻译
  8. git 创建新分支并关联远程分支_git 把远程分支拿到本地,并建立关联关系track | 学步园...
  9. 迷你四足机器人制作_从0到1
  10. CRM IFD部署更换证书 - adfs证书更换