热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php设置uploadtmpdir_修改php文件上传的大小限制upload_max_filesize

问题:我们上传文件文件时会发生Calltoamemberfunctionmove()onnull的错误。我们在php控制器代码中输入如下代码:dump(

问题:

我们上传文件文件时会发生 Call to a member function move() on null的错误。

我们在php控制器代码中输入如下代码:dump($error = $_FILES);exit;查看错误。如果在这里int里面出现了错误代码“1”,就很明显了,接下来分享下所有的错误代码:

0:表示没有发生任何错误,文件上传成功

1:表示上传文件的大小超出了再PHP配置文件中upload_max_filesize选项限制的值

2:表示上传文件大小超出了HTML表单中MAX_FILE_SIZE选项所指定的值

3:表示文件只被部分上传

4:表示没有上传任何文件

若出现1:的状况:

php.ini 配置对php上传文件大小的影响参数有:

配置项 可能值 功能描述

file_uploads ON 确定服务器上的PHP脚本是否可以接受HTTP文件上传

memory_limit 8M 设置脚本可以分配的最大内存量,防止失控的脚本独占服务器内存

upload_max_filesize 改为8M 限制PHP处理上传文件的最大值,此值必须小于post_max_size值

post_max_size 改为16M 限制通过POST方法可以接受的信息最大量

php.ini配置信息可以在前台输入进行查看php.ini目录信息。

但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。进一步配置以下的参数

max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒

max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒

memory_limit = 8m ;每个PHP页面所吃掉的最大内存,默认8M

把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了

max_execution_time = 600max_input_time= 600memory_limit=32m

file_uploads=on

upload_tmp_dir= /tmp

upload_max_filesize=32m

post_max_size= 32m

解决方法:

配置php.ini文件 (以上传500M以下大小的文件为例),查找以下选项并修改:

file_uploads = On ;打开文件上传选项

upload_max_filesize = 500M ;上传文件上限

如果要上传比较大的文件,仅仅以上两条还不够,必须把服务器缓存上限调大,把脚本最大执行时间变长 :

post_max_size = 500M ;post上限

max_execution_time = 1800 ; Maximum execution time of each script, in seconds脚本最大执行时间

max_input_time = 1800 ; Maximum amount of time each script may spend parsing request data

memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)内存上限

总结:文件不大,一般情况直接修改了php.ini文件的upload_max_filesize = 10M(默认是2M),就可以了

原文链接:https://blog.csdn.net/qq_38588845/article/details/80770264



推荐阅读
author-avatar
zhaojiapin_313
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有