2015-11-03 10 views
0

可惜我現在不能檢查一下,因爲XML (這將是另一臺服務器上)處於脫機狀態。 xml文件的URL將如下所示:http://url.com:123/category?foo=bar。它沒有帶有.xml文件擴展名,如你所見。我忘了插入文件檢查以避免打印出xml文件的URL的錯誤信息。
simple_load_file可以正常使用該URL,但我不確定有關file_exists!最好的方式,如果XML(不含文件擴展名)存在

將這項工作?:

if(file_exists('http://url.com:123/category?foo=bar')) { 
$xml = simplexml_load_file('http://url.com:123/category?foo=bar'); 
//stuff happens here 
} else{echo 'Error message';} 

我不知道,因爲file_exists不使用網址。 謝謝!

回答

1

當你懷疑,file_exists()不使用網址,但fopen()fclose()做:

if (fclose(fopen("http://url.com:123/category?foo=bar", "r"))) { 
    $xml = simplexml_load_file('http://url.com:123/category?foo=bar'); 
    //stuff happens here 
} else { 
    echo 'Error message'; 
} 
1

這是不是真的有用,如果你只是試圖獲取數據解析它。特別是如果您調用的URL是程序/腳本本身。這隻意味着該腳本被執行兩次。

我建議你file_get_contents()獲取數據,處理/趕上錯誤和分析所獲取的數據。

正好擋住了錯誤:

if ($xml = @file_get_contents($url)) { 
    $element = new SimpleXMLElement($xml); 
    ... 
} 
+0

這是有道理的,因爲個XML可以得到相當lenghty。謝謝。 – dnnr

相關問題