Uzak bir xml file_get_contents ile sayfa () Loading

2 Cevap php

Ben internette buna benzer bazı sorular, bir cevap ile hiçbiri gördük.

Ben bir dizeye uzak bir XML sayfasının kaynağını dönmek istiyorum. Uzak bir XML sayfası, bu sorunun amaçlı olduğunu:

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

Normal bir internet gezgini olarak, ben sayfayı görüntülemek ve kaynak bir XML belgesidir. Ben ) file_get_contents('http://www.test.com/foo.xml 'kullandığınızda, ancak karşılık gelen URL ile bir dize döndürür.

XML bileşeni almak için var mı? Ben file_get_contents kullanıyorsa bakım veya değil, çalışacak bir şey yok.

2 Cevap

Bu çalışması için sunucu allow_fopen_url kümesi olması gerekir.

Eğer yoksa, o zaman bir yedek olarak bu işlevi kullanabilirsiniz:

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

here ödünç.

Bu garip görünüyor. File_get_contents () diğer sitelere (XML sadece) için geçerli herhangi bir veri çıkmıyor? the fopen-wrappers (varsayılan olarak hangi) devrede ise bir URL sadece bir dosya adı parametre olarak kullanılabilir.

Ben daha sonra alınan XML işlemek için gidiyoruz tahmin ediyorum - o zaman SimpleXml doğrudan simplexml_load _file () kullanarak içine yüklemek gerekir.

try {
   $xml = simplexml_load_file('http://www.test.com/foo.xml');
   print_r($xml);
} ...

Ben XML dosyalarını okumak için SimpleXML kullanmanızı öneririz, kullanımı çok kolay.