> 2GB文件上传$ _FILES [“file”] [“size”]负数

时间:2013-07-09 13:09:18

标签: php php-5.4

我在$ _FILES [“file”] [“size”]获得> 2 GB文件上传负数。

然而,文件上传很好,而filesize()也返回正确的大小。但是如何解决$ _FILES才能返回正确的值?

我已经阅读了一些旧版本的php的问题,他们在filesize()返回负数时也有错误,但现在这似乎很好。他们只是忘记修复$ _FILES?难道你不知道它是否固定在php 5.5.0上?

PHP:5.4.16 操作系统:Debian Squeeze 6.0.7 x64 网络服务器:Nginx 1.2.7

1 个答案:

答案 0 :(得分:4)

无论出现什么问题,你都可以解决4GB这样的问题:

$file_size = $_FILES["file"]["size"];
$true_size = $file_size >= 0 ? $file_size : 4*1024*1024*1024 + $file_size;

但是,正如你所说,filesize($_FILES["file"]["tmp_name"]);是最安全的方式(也将超过4GB)。