gpt4 book ai didi

php - fwrite() 超过 2 GiB?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:44:47 24 4
gpt4 key购买 nike

<分区>

我有一组要连接的文件(每个文件代表多部分下载的一部分)。

每个拆分文件的大小约为 250MiB,我有可变数量的文件。

我的串联逻辑很简单:

if (is_resource($handle = fopen($output, 'xb')) === true)
{
foreach ($parts as $part)
{
if (is_resource($part = fopen($part, 'rb')) === true)
{
while (feof($part) !== true)
{
fwrite($handle, fread($part, 4096));
}

fclose($part);
}
}

fclose($handle);
}

我花了一段时间来追踪它,但显然,每当我有超过 8 个单独的部分(总计 2GiB)时,我的输出文件就会被截断为 2147483647 字节(由 sprintf('%u', $输出))。

我想这是由于 fopen()fwrite() 使用了某种 32 位内部计数器。

我该如何解决这个问题(最好只使用 PHP)?

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