php 下载大文件并保存在服务器

如题。
不能使用 set_time_limit(0),因为线上项目不会让你无限期的执行

我现在能想到的只有使用curl

curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch ,$str){});

每次读取一小部分然后写入文件。

不知道还有没有更好的办法,希望各位大神指点。


饮歌长啸
浏览 1150回答 1
1回答

DIEA

采用断点续传即可。前提条件是服务端支持断点续传。这个只要看服务端返回的应答头中,是否包含以下header:Accept-Ranges: bytes只要有这个header,就说明对方支持断点续传。这样每次请求时,可以在请求头中增加以下header,以指定读取的数据范围:Range: bytes=1024-2047 请求从第1024个字节到第2047个字节之间的数据Range: bytes=2048- 请求从第2048个字节到最后一个字节的内容诸如此类…
打开App,查看更多内容
随时随地看视频慕课网APP