@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;
}

Но ничего не помогает. Как скачать такой файл к себе на сервер?
  • Вопрос задан
  • 1143 просмотра
Пригласить эксперта
Ответы на вопрос 2
через курл скачиваете фаил... но перед скачиванием надо еще пройти авторизацию, раз у вас там логин и пароль.
потом получите в ответ бинарную строку подставляете миме тип и сохраняете в фаил
Ответ написан
Ваш ответ на вопрос

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

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