Hallo!
Also ich habe jetzt Folgendes versucht:
Zunächst die Abfrage der Datei von der zweiten Domain mit den curl-Funktionen.
// neuen curl-Handler erzeugen $ch
$ch = curl_init();
// setze die URL - htaccess geschütztes Verzeichnis
curl_setopt($ch, CURLOPT_URL, "http://www.domain.tld/admin/index.php");
// Authentifizierung senden
$user = "username";
$pwd = "password";
curl_setopt($ch, CURLOPT_HTTPAUTH, 'CURLAUTH_ANY');
curl_setopt($ch, CURLOPT_USERPWD, "$user:$pwd");
// Daten als String senden, nicht ausgeben
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Daten als String an $content übergeben
$content = curl_exec($ch);
// curl-Handler schließen
curl_close($ch);
Der Inhalt der Datei von der zweiten Domain steht jetzt also in $content.
So weit so gut.
Jetzt der erste Versuch das Ganze zu verarbeiten.
// sollte mir ein SimpleXMLElement geben
$xml = simplexml_load_file($content);
print_r($xml);
// stattdessen
/* simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name... */
// einen Fehler mit einem Auszug der ersten Zeilen des Quelltextes (Inhalt von $content)
Jetzt der zweite Versuch:
// sollte mir auch ein SimpleXMLElement geben
$xml = simplexml_load_string($content);
print_r($xml);
// stattdessen Fehler bei kodierten Umlauten (ich denk wegen dem &-Zeichen) z.B.
/* Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 6: parser error : Entity 'uuml' not defined in... */
Jetzt der dritte und bisher letzte Versuch:
// zerstört mir erwartungsgemäß auch Zeichen die ich für XML benötige
$xml = simplexml_load_string(htmlpecialchars($content));
print_r($xml);
// ergibt
/* simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found in... */
Gut, das letzte Ergebnis hatte ich erwartet, aber ich komm einfach nicht drauf was ich falsch mache. Ich glaube bin schon auf einem ganz guten Weg, scheitere aber auf der Zielgeraden.
Könnte mich vielleicht jemand anstossen und mir einen Tipp geben wo mein Denkfehler liegt?
Danke und Grüße, Matze