为什么copy()函数静默复制超过2.41 GB的文件失败?



PHP的copy函数静默复制超过2.41 GB的文件失败。它返回布尔值true,并且不记录任何类型的错误,但是目标文件是"截断"的。2.41 GB. 在64位NTFS Windows 10上测试

手册中没有提到:https://www.php.net/copy

我几乎怀疑这是一些通常不应该发生的晦涩的错误。它可能只支持windows吗?不管怎样,当我发现我已经"安全"地呆在那里时,我真的很害怕。备份我的>2.41 GB的文件都被"切断"损坏了。默默地.

它从来没有被我发现过,直到绝对的机会,因为它声称没有错误完成,也没有记录/引起任何错误消息/信号。

当然,这是在CLI PHP脚本中运行的(不是WWW!),允许无限的运行时间和RAM使用。

这是copy()函数的一个著名问题。如果你需要复制大文件,最好通过流来复制。在PHP中复制大文件(超过2gb)

最新更新