【发布时间】:2012-07-29 16:53:10
【问题描述】:
我正在尝试使用 php-curl 下载一个 7GB 的文件,但它似乎只会下载前 2GB。
似乎没有任何文档或谈论这个。
有人有什么想法吗?
【问题讨论】:
-
不同的文件系统对文件大小有限制,en.wikipedia.org/wiki/Comparison_of_file_systems,你是哪个?
我正在尝试使用 php-curl 下载一个 7GB 的文件,但它似乎只会下载前 2GB。
似乎没有任何文档或谈论这个。
有人有什么想法吗?
【问题讨论】:
这里有两个关于该主题的有用链接:
Downloading a large file using curl
How to partially download a remote file with cURL?
基本上你可能会遇到两个问题:
还有文件系统限制,如@ajreal 所述,请检查您的文件系统类型(即 FAT32 的限制为 4GB,99% 的机会您不使用 FAT,但它仍然是一个示例)。
正如 OP 发现它与数据库有关:
原来是数据库问题。文件大小存储在 mysql 中 数据库,大小以字节为单位,“int”列的最大大小为 2147483648。将列类型更改为“bigint”解决了该问题。
【讨论】:
假设您的文件系统可以处理大于 2GB 的文件,您可以尝试使用 copy
copy("http:://example.org/your_file","/tmp/your_file");
还要确保设置适当的时间限制(使用set_time_limit(...))。
【讨论】: