3

$_FILES["file"]["size"] で 2 GB 以上のファイル アップロードの負の数を取得しています。

ただし、ファイルのアップロードは問題なく、filesize() も正しいサイズを返します。しかし、正しい値を返すために $_FILES を解決する方法は?

古いバージョンの php の問題について読んだことがありますが、filesize() で負の数を返すときにエラーが発生していましたが、今は問題ないようです。彼らは $_FILES を修正するのを忘れただけですか? php 5.5.0 で修正されたかどうかわかりませんか?

PHP: 5.4.16 OS: 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 に答える