PHP文件上传(3.5 MB)上传

PHP文件上传(3.5 MB)上传,php,file-upload,Php,File Upload,我试图使用文件输入来上传一个3.5MB的文件,但当我尝试上传它时,我得到一个$_FILES['error']==2,我相信这告诉我文件太大了 我能做些什么来上传这个 以下是我的一些代码: <input type="hidden" name="MAX_FILE_SIZE" value="100000000000000000000000000000000000000000000000000000000000000"> <input type="file" id="home_pdf"

我试图使用文件输入来上传一个3.5MB的文件,但当我尝试上传它时,我得到一个$_FILES['error']==2,我相信这告诉我文件太大了

我能做些什么来上传这个

以下是我的一些代码:

<input type="hidden" name="MAX_FILE_SIZE" value="100000000000000000000000000000000000000000000000000000000000000">
<input type="file" id="home_pdf" name="home_pdf">

1000000000000000000000000000000000000000000000000000000是一个太大的数字,并溢出。请改为尝试134217728(128MB)

PHP在64位安装上的最大int值为9223372036854775807,在32位安装上的最大int值为2147483647

我已经对此进行了测试,可以重现您的问题,并且可以通过降低值来修复问题。

MAX_FILE_SIZE隐藏字段(以字节为单位)必须位于文件输入字段之前,其值是PHP接受的最大文件大小。应始终使用此表单元素,因为它避免了用户在等待传输大文件时发现文件太大且传输失败的麻烦。请记住:在浏览器端愚弄此设置非常容易,因此永远不要依赖此功能阻止较大大小的文件。对于应用程序客户端的用户来说,它只是一个方便的特性。但是,最大大小的PHP设置(在服务器端)不能被愚弄


“最大文件大小”字段太大

:

上传错误表单大小

价值:2;上载的文件超过了HTML表单中指定的MAX_file_SIZE指令

根据文件:

上传错误表单大小

价值:2;上载的文件超过了HTML表单中指定的MAX_file_SIZE指令

您应该检查HTML表单中指定的MAX_FILE_SIZE指令


另外,正如@BrandonWamboldt所指出的,您为MAX_FILE_SIZE指令指定了一个无效的属性值。

这听起来可能很愚蠢,但有时在上载脚本中需要为php_ini添加一个设置。例如:

ini_set("max_execution_time", 120);
ini_set("max_input_time", 120);
ini_set("memory_limit", "128M");
ini_set("upload_max_filesize", "10M");
ini_set("post_max_size", "10M");
出于某种原因,这是可行的。我有一个类似的问题,这就是我的解决方案。
我对名称MAX_FILE_SIZE和值1000000000000000000000000000000000000000000000000的意见是非常错误的移动,不建议可见。该部分在PHP上传函数中定义并减少零的数量(值太大)

1000000000000000000000000000000000000000000000000000000000000???您可能希望将表单的最大文件大小更改为更合理的大小,如134217728(128M)。
1000000000000000000000000000000000000000000=OVERKILL首先还要处理一个小得多的文件,以确认大小是问题所在。我刚刚测试了这个问题,并确认大的数字会导致溢出。
ini_set("max_execution_time", 120);
ini_set("max_input_time", 120);
ini_set("memory_limit", "128M");
ini_set("upload_max_filesize", "10M");
ini_set("post_max_size", "10M");