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)