3

我在 $_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

4

1 回答 1

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 以上工作)。

于 2013-07-09T13:18:38.247 回答