Loading a remote xml page with file_get_contents()

Logan Serman picture Logan Serman · Mar 29, 2009 · Viewed 31.5k times · Source

I have seen some questions similar to this on the internet, none with an answer.

I want to return the source of a remote XML page into a string. The remote XML page, for the purposes of this question, is:

http://www.test.com/foo.xml

In a regular webbrowser, I can view the page and the source is an XML document. When I use file_get_contents('http://www.test.com/foo.xml'), however, it returns a string with the corresponding URL.

Is there to retrieve the XML component? I don't care if it uses file_get_contents or not, just something that will work.

Answer

Seb picture Seb · Mar 29, 2009

You need to have allow_url_fopen set in your server for this to work.

If you don´t, then you can use this function as a replacement:

<?php
function curl_get_file_contents($URL)
    {
        $c = curl_init();
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($c, CURLOPT_URL, $URL);
        $contents = curl_exec($c);
        curl_close($c);

        if ($contents) return $contents;
            else return FALSE;
    }
?>

Borrowed from here.