文档章节

php 上传大文件主要涉及upload_max_filesize和post_max_size两个选项

庆沉
 庆沉
发布于 2014/06/25 09:37
字数 569
阅读 891
收藏 0

现象:

今天在做上传的时候出现一个奇怪的问题,有时候表单提交可以获取到值,有时候就获取不到了,连普通的字段都获取不到了,苦思冥想还没解决,最后问了师傅,师傅看了说挺奇怪的,然后问我upload_max_filesize的值改了吗,我说改了啊,师傅也解决不了了。过了一会师傅问 post_max_size改了吗,我说那个和上传没关系吧,师傅没理我,我还是照着自己的想法继续测试,弄了半天还是不行,最后试了师傅提的意见,成功了,原来上传是和post_max_size有关系的。

在上传apk文件时,提示成功,但是到相应目录查看发现没有apk文件,然后如果上传小于2M的apk文件就可以,大于2M就不行,怀疑是哪儿需要改设置,然后查询一下发现,需要改php.ini配置文件中的upload_max_filesize和post_max_size这两个选项。

总结:php.ini配置文件中的默认文件上传大小为2M, 默认upload_max_filesize = 2M,即文件上传的大小为2M,如果你想上传超过8M的文件,比如20M,你必须设定upload_max_filesize = 20M。但是只设置upload_max_filesize = 20M还是无法实现大文件的上传功能,你必须修改php.ini配置文件中的post_max_size选项,其代表允许POST的数据最大字节长度,默认为8M。如果POST数据超出限制,那么$_POST和$_FILES将会为空。要上传大文件,你必须设定该选项值大于upload_max_filesize指令的值,我一般设定upload_max_filesize和post_max_size值相等。另外如果启用了内存限制,那么该值应当小于memory_limit选项的值。

文件上传的其他注意事项

在上传大文件时,你会有上传速度慢的感觉,当超过一定的时间,会报脚本执行超过30秒的错误,这是因为在php.ini配置文件中max_execution_time配置选项在作怪,其表示每个脚本最大允许执行时间(秒),0 表示没有限制。你可以适当调整max_execution_time的值,不推荐设定为0。


© 著作权归作者所有

共有 人打赏支持
庆沉
粉丝 36
博文 405
码字总数 140470
作品 0
深圳
运维
私信 提问
PHP.INI配置:文件上传功能配置教程

昨天分享了在PHP网站开发中如何在php.ini中配置实现session功能的PHP教程,今天继续分享在利用PHP实现文件上传功能时几点关键php.ini的配置。   说到在php.ini中的文件上传的配置,其实在之...

张志浩
2012/10/08
0
0
解决phpmyadmin上传文件大小限制的配置方法

解决phpmyadmin上传文件大小限制的配置方法  phpmyadmin导入SQL文件时涉及到phpmyadmin上传文件大小限制问题,默认phpmyadmin上传文件大小为2M,如果想要phpmyadmin上传超过2M大文件,就需要...

喵王不瞌睡
2014/10/29
0
0
(转)php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项。

今天在做上传的时候出现一个非常怪的问题,有时候表单提交可以获取到值,有时候就获取不到了,连普通的字段都获取不到了,苦思冥想还没解决,最后问了师 傅,师傅看了说挺奇怪的,然后问我u...

本杰明刘能
2016/09/29
6
0
开源ITIL管理工具--iTop 安装过程

开源ITIL管理工具安装过程 itop是什么?iTop即IT运营门户(IT Operation Portal),是一个开源Web应用程序,用于IT环境的日常运营,ITIL要落地就用它啦。 下载地址:http://down.51cto.com/d...

OSSIM
2015/09/07
2.6K
2
PHP上传文件参考配置大文件上传

PHP用超级全局变量数组$FILES来记录文件上传相关信息的,在php文件上传之前,可通过调节php.ini中相关配置指令,来控制上传相关细节。 1.file_uploads=on/off 是否允许通过http方式上传文件 ...

宁少爷
2017/06/13
0
2

没有更多内容

加载失败,请刷新页面

加载更多

JAVA设计模式之模板方法模式和建造者模式

一、前期回顾 上一篇《Java 设计模式之工厂方法模式与抽象工厂模式》介绍了三种工厂模式,分别是工厂方法模式,简单工厂方法模式,抽象工厂模式,文中详细根据实际场景介绍了三种模式的定义,...

木木匠
21分钟前
1
0
C中的宏的使用(宏嵌套/宏展开/可变参数宏)

基本原则: 在展开当前宏函数时,如果形参有#或##则不进行宏参数的展开,否则先展开宏参数,再展开当前宏。 #是在定义两边加上双引号 #define _TOSTR(s) #sprintf(_TOSTR(test ABC))pr...

SamXIAO
51分钟前
2
0
SpringBoot 整合异步调用方法

1. 在 SpringBoot 主类上使用 @EnableAsync 注解,开启异步调用功能 package com.codingos.springbootdemo;import org.springframework.boot.SpringApplication;import org.springfra......

北漂的我
今天
1
0
0015-如何使用Sentry管理Hive外部表权限

1.文档编写目的 本文档主要讲述如何使用Sentry对Hive外部表权限管理,并基于以下假设: 1.操作系统版本:RedHat6.5 2.CM版本:CM 5.11.1 3.集群已启用Kerberos和Sentry 4.采用具有sudo权限的...

Hadoop实操
今天
3
0
边缘计算与数据中心的发展趋势

导读 Gartner研究表明,人工智能、物联网和5G助力下一代商业创新,由此产生大量数据,2020年前企业将使用超过75亿台联网设备。 在几乎每个方面,社会的节奏都正变得更快。我们希望客户服务问...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部