2008-10-28 50 views
3

我想從另一臺服務器讀取XML文件。然而,託管我的公司似乎已經將file_get_contents功能轉變爲從其他服務器上檢索文件的文件(並且它們的支持不是非常明亮,並且它們需要永遠回答)。所以我需要以某種方式解決問題。在PHP中從另一臺服務器讀取xml文件的方法數量?

這是我當前的代碼

$url = urldecode($object_list_url); 
$xmlstr = file_get_contents ($url); 
$obj = new SimpleXMLElement ($xmlstr, LIBXML_NOCDATA); 

回答

8

你可以使用cURL(如果沒有被禁用)。 事情是這樣的:

$c = curl_init($url); 
curl_setopt($c, CURLOPT_RETURNTRANSFER, true); 
$xmlstr = curl_exec($c); 
+0

顯然allow_url_fopen不包括捲曲,所以這可能是你最好的選擇。 – Ross 2008-10-28 17:49:20

+0

我會推薦cURL - 它比allow_url_fopen更可靠更安全。 – Eli 2008-10-28 17:50:58

0

你指的是ini的變種是allow_url_fopen。要檢查,請運行以下腳本:

var_dump(ini_get('allow_url_fopen')); 

請求您的主機打開該ini值(如果禁用 - 默認情況下爲打開狀態)。

如果沒有ini設置,您應該無法訪問任何遠程URL。

另外一個想法,如果他們不會可能試圖copy文件到您的服務器。我期望所有的文件系統功能都會被ini設置所覆蓋,但它總是值得一試。

0

您可以執行以下腳本並提供信息的評論?

<?php 
phpinfo(); 
?> 
相關問題