问题是我想检查文件是否太大而无法上传,以便我可以显示相关的错误消息,但是当文件大于 php.ini 中的 upload_max_filesize 时,它似乎只显示 0。
为什么会这样?如何测试文件太大而无法给出相关错误?
问题是我想检查文件是否太大而无法上传,以便我可以显示相关的错误消息,但是当文件大于 php.ini 中的 upload_max_filesize 时,它似乎只显示 0。
为什么会这样?如何测试文件太大而无法给出相关错误?
见http://php.net/manual/en/features.file-upload.errors.php
相关摘录:
自 PHP 4.2.0 起,PHP 会随文件数组返回一个适当的错误代码。错误代码可以在 PHP 上传文件时创建的文件数组的错误段中找到。换句话说,错误可能在 $_FILES['userfile']['error'] 中找到。
UPLOAD_ERR_OK 值:0;没有错误,文件上传成功。
UPLOAD_ERR_INI_SIZE 值:1;上传的文件超过了 php.ini 中的 upload_max_filesize 指令。
文件存在并且说 0 表示发生错误的事实......通常它超过了文件大小限制。这就是相关的错误。
编辑:正如下面的评论者提到的,相关错误在 $_FILES['userfile']['error'] 上。