2011-03-31 24 views
0

我有一個腳本,它循環了許多基於URL的XML文件來比較值。目前有超過50個獨立的XML文件,但這個數字將增長到數百個。比較值很簡單,並從字符串中檢索。使用simlpeXML和php解析許多遠程文件的最佳方法

XML文件結構良好,體積小,10-26KB,我只從基於url的API中獲取1-2個值。

例如:

foreach(); //loop starts, left out details 

$value1 = "some_number"; 

//load all the xml 

$request_url = "example.com/file.xml"; 
$request_url = urlencode($request_url); 
$response_xml = @simplexml_load_file($request_url); 

$res = $response_xml; 
$version = $res->version; 

if ($value1 > $version) 
echo "yay"; 

endforeach; //end loop 

現在的問題是這越來越是20個請求時變緩豆,我會用幾百它減緩至爬行想象。

有沒有更好的方法或更快的方法來做到這一點?

回答

1

由於獲取遠程文件是迭代過程中速度最慢的部分,因此它是首先開始提高性能的地方。我將使用cURL來獲取一個交換中的所有文件,並在遠程會話完成後處理數據。 cURL提供了一個curl_multi_exec。 php.net/manual/en/function.curl-multi-exec.php你可以提供多個捲曲手柄。如果可能的話,這將重新使用您的連接,您可以同時運行請求。

相關問題