2016-07-20 21 views
0

Ich habe den folgenden Code, um eine XML-Datei zu lesen, die gut funktioniert, wenn die URL zur Verfügung:PHP file_get_contents aus verschiedener URL, wenn erster nicht verfügbar

$url = 'http://www1.blahblah.com'."param1"."param2"; 

$xml = file_get_contents($url); 

$obj = SimpleXML_Load_String($xml); 

Wie kann ich den obigen Code, um durch eine ändern Anzahl der verschiedenen URLs, wenn die erste aus irgendeinem Grund nicht verfügbar ist? Ich habe eine Liste von 4 URLs alle die gleiche Datei enthalten, aber ich bin mir nicht sicher, wie es geht.

+0

Für eine quick & dirty Lösung Sie eine while-Schleife und eine Reihe von möglichen Urls bräuchten –

Antwort

1

Ersetzen Sie Ihren Code mit zum Beispiel dieses

//instead of simple variable use an array with links 
$urls = [ 'http://www1.blahblah.com'."param1"."param2", 
      'http://www1.anotherblahblah.com'."param1"."param2", 
      'http://www1.andanotherblahblah.com'."param1"."param2", 
      'http://www1.andthelastblahblah.com'."param1"."param2"]; 

//for all your links try to get a content 
foreach ($urls as $url) { 
    $xml = file_get_contents($url); 

    //do your things if content was read without failure and break the loop 
    if ($xml !== false) { 
     $obj = SimpleXML_Load_String($xml); 
     break; 
    } 
} 
+0

Das funktionierte perfekt, danke! –