Задать вопрос
@siroper

Как на PHP скачать файл с другого сервера?

Здравствуйте. Пытаюсь скачивать xml файлы от поставщиков, и везде все получается простейшей функцией file_get_contents и сохраняю файл себе на сервер file_put_contents.

Но вот возникла проблема. У одного поставщика файл не читается в браузере по ссылке, а идет сразу на скачиваение. Ссылку опубликовать к сожалению не могу, в ее адресе логин, пароль содержится, но суть я думаю предельно ясна.
Т.е. открываешь ссылку - браузер не выводит содержимое xml, предлагает сразу его скачать.

file_get_contents на такой файл выдает ошибку failed to open stream: Connection timed out. Пробовал curl:
function url_get_contents ($url) {
    if (function_exists('curl_exec')){ 
        $conn = curl_init($url);
        curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, true);
        curl_setopt($conn, CURLOPT_FRESH_CONNECT,  true);
        curl_setopt($conn, CURLOPT_RETURNTRANSFER, 1);
        $url_get_contents_data = (curl_exec($conn));
        curl_close($conn);
    }elseif(function_exists('file_get_contents')){
        $url_get_contents_data = file_get_contents($url);
    }elseif(function_exists('fopen') && function_exists('stream_get_contents')){
        $handle = fopen ($url, "r");
        $url_get_contents_data = stream_get_contents($handle);
    }else{
        $url_get_contents_data = false;
    }
return $url_get_contents_data;
}

Но ничего не помогает. Как скачать такой файл к себе на сервер?
  • Вопрос задан
  • 1357 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
через курл скачиваете фаил... но перед скачиванием надо еще пройти авторизацию, раз у вас там логин и пароль.
потом получите в ответ бинарную строку подставляете миме тип и сохраняете в фаил
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы