编程语言
首页 > 编程语言> > php-> 2GB文件上传$_FILES [“ file”] [“ size”]负数

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

作者:互联网

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

解决方法:

无论问题是什么,您都可以像这样解决最大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以上运行).

标签:php-5-4,php
来源: https://codeday.me/bug/20191030/1969728.html