gpt4 book ai didi

PHP filesize() 在文件 > 2 GB

转载 作者:可可西里 更新时间:2023-11-01 13:55:52 25 4
gpt4 key购买 nike

我一直在苦苦思索如何在 PHP 中获取大于等于 2 GB 的文件的有效文件大小。

例子
在这里,我使用 filesize() 函数检查一个 3,827,394,560 字节大的文件的文件大小:

echo "The file is " . filesize('C:\MyFile.rar') . " bytes.";

结果
这是它返回的内容:

The file is -467572736 bytes.

背景
PHP 使用有符号整数,这意味着它可以表示的最大数字是 2,147,483,647 (+/- 2 GB)。
这是它的局限性。

最佳答案

我尝试并显然有效的解决方案是使用 COM FileObject 的“Size”属性。我不完全确定它使用什么类型。

这是我的代码:

function real_filesize($file_path)
{
$fs = new COM("Scripting.FileSystemObject");
return $fs->GetFile($file_path)->Size;
}

简称为:

$file = 'C:\MyFile.rar';
$size = real_filesize($file);
echo "The size of the file is: $size";

结果

The size of the file is: 3,827,394,560 bytes

关于PHP filesize() 在文件 > 2 GB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9346104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com