Lao*_*neo 7 php guzzle guzzle6
我想用Guzzle下载一个大文件,并希望跟踪进度.我不知道是否必须以某种方式传递流或使用RequestMediator.
我正在测试以下代码.
$dl = 'http://archive.ubuntu.com/ubuntu/dists/wily/main/installer-amd64/current/images/netboot/mini.iso';
$client = new Client([]);
$request = new GuzzleHttp\Psr7\Request('get', $dl);
$promise = $this->client->sendAsync($request, [
'sink' => '/tmp/test.bin'
]);
$promise->then(function (Response $resp) use ( $fs) {
echo 'Finished';
}, function (RequestException $e) {
});
$promise->wait();
Run Code Online (Sandbox Code Playgroud)
一个提示将不胜感激.
Sha*_*ley 16
虽然,文档中未提及,但您可以使用"进度"请求选项.
可在此处找到对它的引用.
$options = [
'progress' => function ($dl_total_size, $dl_size_so_far, $ul_total_size, $ul_size_so_far) {
// do something.
}
];
Run Code Online (Sandbox Code Playgroud)