PHP中的文件上载未返回错误代码
我在尝试使用PHP上传非常大的文件时遇到了一个问题。我知道以前有人提出过这个问题,我读过很多回复,但我还没有找到一个明确的答案 我使用的基本代码发布在这里:我已经成功地使用它让客户端上传图像文件、JPEG、GIF、png等。问题出现在允许用户上传不可显示的文件,如.psd文件,这些文件可能非常大 在php.ini中,本地和远程服务器上的PHP中的文件上载未返回错误代码,php,file,error-handling,upload,Php,File,Error Handling,Upload,我在尝试使用PHP上传非常大的文件时遇到了一个问题。我知道以前有人提出过这个问题,我读过很多回复,但我还没有找到一个明确的答案 我使用的基本代码发布在这里:我已经成功地使用它让客户端上传图像文件、JPEG、GIF、png等。问题出现在允许用户上传不可显示的文件,如.psd文件,这些文件可能非常大 在php.ini中,本地和远程服务器上的upload_max_filesize和post_max_size都设置为128MB。代码中的隐藏字段MAX_FILE_SIZE在开发过程中已设置为各种值。问题是
upload_max_filesize
和post_max_size
都设置为128MB。代码中的隐藏字段MAX_FILE_SIZE在开发过程中已设置为各种值。问题是:如果用户选择的文件大于MAX\u file\u SIZE
但小于128MB,$\u FILES['uploadfile']['error']
将返回一个错误代码2,正如PHP文档所说的那样。如果文件大小超过128MB,则上载处理将完全失败,并产生奇怪的结果
“奇怪”的结果包括不相关的错误消息,如“Undefined index:uploadbtn”这是提交按钮的索引,您必须单击以获取错误消息(!)这在Firefox 26和Chrome中发生。较大的文件可能会使Firefox完全崩溃,然后会显示bug report对话框
我不想上传大于128MB的文件,我只想处理用户以某种合理的方式选择非常大的文件的情况。有人知道怎么做吗
生产代码比上面的示例复杂得多,但我很乐意根据要求提供它
…为什么不将最大文件大小设置为128 MB,并使用AJAX使用$\u FILES['filename']['SIZE']验证该字段,将其与您设置的变量$MAX\u FILE\u SIZE=进行比较,如果大于该值,则返回一个错误处理代码根本不运行,当所选文件大于128MB时,调试代码无法从$\u FILES数组中检索任何值,我怀疑它可能根本就没有创建,但我肯定会跟进。谢谢