阅读量:0
在PHP中,可以使用cURL库来异步下载文件。以下是一个例子:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://example.com/file.txt'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_multi_add_handle($mh, $ch); $active = null; do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); while ($active && $mrc == CURLM_OK) { if (curl_multi_select($mh) != -1) { do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); } } curl_multi_remove_handle($mh, $ch); curl_multi_close($mh); // 文件下载完成后的处理
在上面的示例中,我们使用curl_multi_init()函数初始化一个cURL批处理句柄,并将多个下载任务添加到批处理中。然后使用curl_multi_exec()来执行批处理任务,直到所有任务完成。最后,通过使用curl_multi_remove_handle()和curl_multi_close()函数来清理批处理句柄。
请注意,这只是一个简单的示例,实际应用中可能需要进一步处理错误和异常情况。