Поддержка Проблемы и решения Скачать в переменную xml по ссылке

  • Не получается скачать xml по ссылке.
    Подскажите как это можно сделать?
    Я пробовал так:

    //https://www.drom.ru/cached_files/autoload/files/ref.xml
    function r5ua_function_products_drom_xml_keys_load($urlDrom) {
        return simplexml_load_file($urlDrom);
    }

    Но ничего хорошего не получается, как временное решение я скачал файл в ручную и разместил его на хостинге и иногда обновляю его.

    • Тема изменена 4 года, 7 месяцев назад пользователем rofl113.
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • для php должен быть включен параметр allow_url_fopen.

    иначе, сначала скачивайте файл:

    
    function get_data($url) {
        $ch = curl_init();
        $timeout = 5;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        $data = curl_exec($ch);
        curl_close($ch);
        return $data;
    }
    
    $returned_content = get_data('https://www.drom.ru/cached_files/autoload/files/ref.xml');
    
    $source = simplexml_load_string($returned_content) or die("Something is wrong");
    echo $source->Result;
    

    Спасибо большое! Работает!
    В итоге получилось так:

    function r5ua_function_products_drom_xml_keys_load($url) {
        $ch = curl_init();
        $timeout = 5;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        $data = curl_exec($ch);
        curl_close($ch);
        return simplexml_load_string(strval($data));
    }
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Скачать в переменную xml по ссылке» закрыта для новых ответов.