Если вы пытаетесь загрузить файл, вы должны использовать CURLOPT_FILE
вместо RETURNTRANSFER = true
. Это позволит записать загруженные данные в файл в вашей системе напрямую, без заполнения пространства памяти PHP. Помните, что PHP обычно работает с ограничением памяти, и вы можете легко превысить его, загрузив большой файл.
Использование RETURNTRANSFER
полезно только в том случае, если вы собираетесь выполнять обработку передаваемых данных в памяти, например загружать HTML в систему DOM для анализа.
Попробуйте вместо этого:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_FILE, "/name/of/file/to/write/to/on/your/machine");
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);