如题。不能使用 set_time_limit(0),因为线上项目不会让你无限期的执行我现在能想到的只有使用curlcurl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch ,$str){});每次读取一小部分然后写入文件。不知道还有没有更好的办法,希望各位大神指点。
1 回答
DIEA
TA贡献1820条经验 获得超2个赞
采用断点续传即可。
前提条件是服务端支持断点续传。这个只要看服务端返回的应答头中,是否包含以下header:
Accept-Ranges: bytes
只要有这个header,就说明对方支持断点续传。
这样每次请求时,可以在请求头中增加以下header,以指定读取的数据范围:
Range: bytes=1024-2047 请求从第1024个字节到第2047个字节之间的数据
Range: bytes=2048- 请求从第2048个字节到最后一个字节的内容
诸如此类…
- 1 回答
- 0 关注
- 1149 浏览
添加回答
举报
0/150
提交
取消