function downloadFile($remoteUrl, $localPath){
$ch = curl_init($remoteUrl);
if ($ch === false) {
return false;
}
$fp = fopen($localPath, 'wb');
if ($fp === false) {
curl_close($ch);
return false;
}
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0); // Отключаем вывод заголовков
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Переходить по редиректам
curl_setopt($ch, CURLOPT_FAILONERROR, true); // Возвращать ошибку при кодах 400+
$result = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
fclose($fp);
if ($result === false || $httpCode >= 400) {
unlink($localPath); // Удаляем файл, если загрузка не удалась
return false;
}
return true;
}
// Пример использования:
$remoteFile = 'https://zawap.ru/views/default/img/logo.png';
$localFile = 'zawap_image.jpg';
if (downloadFile($remoteFile, $localFile)) {
echo "Файл успешно загружен и сохранен в {$localFile} n";
} else {
echo "Ошибка загрузки файла!n";
}