我正在尝试获取大文件(12gb +)的文件大小,我不想打开文件这样做,因为我认为这会占用大量资源.有没有好的API可以这样做?我在Windows环境中.
显然,realpath是非常错误的.在PHP 5.3.1中,它会导致随机崩溃.在5.3.0及更低版本中,realpath随机失败并返回false(对于相同的字符串),加上它总是失败 - realpath同一个字符串两次/更多(当然,它第一次工作).
此外,它在早期的PHP版本中是如此的错误,它完全无法使用.嗯......它已经是,因为它不一致.
无论如何,我有什么选择?也许自己重写一下?这是可取的吗?
我一直在讨论如何在PHP中获取> = 2 GB的文件的有效文件大小.
示例
这里我使用filesize()函数检查大小为3,827,394,560字节的文件的文件大小:
echo "The file is " . filesize('C:\MyFile.rar') . " bytes.";
Run Code Online (Sandbox Code Playgroud)
结果
这是它返回的内容:
该文件是-467572736字节.
背景
PHP使用有符号整数,这意味着它可以表示的最大数量是2,147,483,647(+/- 2 GB).
这是有限的地方.