Я не понимаю почему, но Guzzle не загружает мой файл с помощью getAsync, если я не жду обещания.Но причина, по которой я использую getAsync, заключается в том, чтобы продолжить загрузку сценария при загрузке изображения.
Вот как я его использую
protected function downloadImage ($url, $subDir, $filename)
{
$dir = '../public/files/' . $this->getAccountId() . '/';
if (!is_dir($dir)) {
mkdir($dir);
}
if (!is_dir($dir . $subDir . '/')) {
mkdir($dir . $subDir . '/');
}
$file = $dir . $subDir . '/' . $filename . '.jpg';
$client = new Client();
$promise = $client->getAsync($url, [ 'sink' => $file ]);
//$res = $promise->wait();
return $file;
}
public function myFunction ()
{
foreach ($aUrl as $url) {
$this->downloadImage($url, 'subFolder', 'myfilename')
}
}
Конечно, конечное имя файла для каждого файла разноефайлы, но это не проблема здесь