我正在尝试使用 php-curl 下载一个 7GB 的文件,但它似乎只会下载前 2GB。
似乎没有任何文档或谈论这个。
有人有想法么?
以下是有关该主题的两个有用链接:
基本上你可能会遇到两个问题:
还有文件系统限制,还有什么不检查@ajreal 提到的文件系统类型(即FAT32 有4GB 的限制,99% 的机会你不使用FAT,但它仍然是一个例子)。
正如 OP 发现它与数据库有关:
原来是数据库问题。文件大小存储在 mysql 数据库中,大小以字节为单位,“int”列的最大大小为 2147483648。将列类型更改为“bigint”解决了这个问题。
假设您的文件系统可以处理大于 2GB 的文件,您可以尝试使用copy
copy("http:://example.org/your_file","/tmp/your_file");
还要确保设置适当的时间限制(使用set_time_limit(...)
)。