как скачать xml файл

1. Win4esteR (26.01.2018 / 17:59)
подскажите пожалуйста! файл находится на сайте сайт.ру/тест.xml каким образом я могу скачать его себе на хостинг с помощью php? уже весь инет облазил, туплю сильно

2. Володя (26.01.2018 / 18:20)
<?php
$file = "НАЗВАНИЕ ФАЙЛА";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "http://АДРЕС САЙТА".$file);
$result = curl_exec($ch);
curl_close($ch);

if ($result)
{
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $file);
header('Content-Length: ' . strlen($result));
echo $result;
exit();
}
?>


3. Win4esteR (26.01.2018 / 19:47)
Caswap, что-то не работает.. вот какой код
<?php
$file = "test.xml";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, "https://test.test.ru/test/".$file);
$result = curl_exec($ch);
curl_close($ch);

if ($result)
{
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $file);
header('Content-Length: ' . strlen($result));
echo $result;
exit(); 
}
?>


4. Dmitry Kokorin (27.01.2018 / 14:17)
Win4esteR, точнее адрес напиши, пробовать надо

5. /7o/loTeH4I1k (28.01.2018 / 01:03)
<?php
$file=file_get_contents('хттп://сайт.ру/тест.xml');
//далее работа с файлом
// ...
// и запись в файл
file_put_contents('file.xml', $file);
Если никакой обработки не предполагается то можно просто
<?php
copy('хттп://сайт.ру/тест.xml', 'file.xml');


6. Win4esteR (28.01.2018 / 20:16)
anonymouse, не работает... в обоих случаях выдает ошибку:
Warning: file_get_contents() [function.file-get-contents]: SSL operation failed with code 1. OpenSSL Error messages: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure in D:\OpenServer\domains\testrab1.ru\pars1.php on line 2

Warning: file_get_contents() [function.file-get-contents]: Failed to enable crypto in D:\OpenServer\domains\testrab1.ru\pars1.php on line 2

7. JustZero (28.01.2018 / 20:19)
Win4esteR,
<?php

$stream_opts = [
    "ssl" => [
        "verify_peer" => false,
        "verify_peer_name" => false,
    ]
];  
 
$response = file_get_contents("https://www.example.com", false, stream_context_create($stream_opts));
file_put_contents('file.xml', $response);


8. Win4esteR (29.01.2018 / 01:21)
Короче. Код выше на опен сервере такую же ошибку выдает. Но я проверил его на хосте, все без ошибок.. На опен сервере стоит Пых 5.4 , выше пока поставить не могу, ошибку выдает . Может дело в версии пыха, хз. Всем спасибо!

9. Zдешний (29.01.2018 / 04:14)
Win4esteR, что за Пых? Ты не пыхти

10. Александр (29.01.2018 / 17:14)
А если не указывать
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
?

11. JustZero (29.01.2018 / 17:56)
Randy, наоборот указывать нужно что проверять ssl сертификат не нужно! он просто не разобрался с curl'ом

12. Александр (30.01.2018 / 11:35)

Randy, наоборот указывать нужно что проверять ssl сертификат не нужно! он просто не разобрался с curl'ом
throw (Вчера / 17:56)
Ну не знаю. У меня с PAYPAL были проблемы, пока вообще не исключил эти строки.

13. /7o/loTeH4I1k (04.02.2018 / 01:44)
Win4esteR, у тебя может просто время сбито, не? Хотя ты бы вообще на сайты с https не зашёл...

URL: https://visavi.net/topics/43878