Portal > Foren > PHP > PHP-Programmierung > Daten von einem Server ausgeben und auf anderem einlesen - PHP
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 02.07.2007, 14:07 Nach oben    #1
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard Daten von einem Server ausgeben und auf anderem einlesen - PHP

Hallo,

ich würde gerne ein Array von einem Server auf einen anderen bekommen.

Ein einfaches
PHP-Code:
include 'http://www.radio-gsg.de/interface/getpoll.php'
geht ja nicht, da ich nur HTML von dem Server bekomme.

Daher dachte ich, ich versuche es mit XML. Leider bekomme ich keine schöne XML Datei hin, da die Umlaute codiert sind (ä = ä ).

Wie kann ich das Array nun von dem Server holen und bei mir wieder in ein Array ablegen?
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz

Geändert von Jan (02.07.2007 um 14:26 Uhr)
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 14:13 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.517
Standard

Mit XML und der richtigen Kodierung würd ich mal behaupten.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 14:27 Nach oben    #3
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Wie würde sowas aussehen?
Und wie bekomme ich die Daten möglichst schnell wieder in eine Array?
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 14:31 Nach oben    #4
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.517
Standard

Zum Auslesen ist SimpleXML ja bestens geeignet.

http://www.professionelle-softwareen...g-php.xml.html

Welche Kodierung nutzt du denn derzeit?
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 14:40 Nach oben    #5
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Ich selber nutzte eigentlich utf-8. Aber leider bekomme ich die Daten in iso-8859-1.

Und wie kann ich xml richtig ausgeben?
Stimmt das so?:
PHP-Code:
header("Content-Type: text/xml");
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';

if($result != 0) //Gibt es eine Umfrage?
{
    echo "\n<umfrage>\n";
    echo '    <ID>'.$result['ID'].'</ID>'."\n";
    echo '    <question>'.$result['question'].'</question>'."\n";
    echo '    <description>'.$result['description'].'</description>'."\n";
    echo '    <release>'.$result['release'].'</release>'."\n";
    echo '    <end>'.$result['end'].'</end>'."\n";
    echo '    <voted>'.$result['voted'].'</voted>'."\n";
    echo '    <allvotes>'.$result['allvotes'].'</allvotes>'."\n";
    foreach($result['choices'] as $option)
    {
        echo '<option>'."\n";
        echo '    <id>'.$option['ID'].'</id>'."\n";
        echo '    <choice>'.$option['choice'].'</choice>'."\n";
        echo '    <votes>'.$option['votes'].'</votes>'."\n";
        echo '</option>'."\n";
    }
    echo '<umfrage>'."\n";
}
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz

Geändert von Jan (02.07.2007 um 14:42 Uhr)
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 16:30 Nach oben    #6
Neuer Benutzer
 
Registriert seit: 30.06.2007
Beiträge: 11
Standard

utf8_decode ?
Koala ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 16:49 Nach oben    #7
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Was soll ich damit machen?
Ich bekomm ja erst garkein valides XML ausgegeben wie es scheint.
Oder stimmt der obere Code?
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 17:47 Nach oben    #8
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

zeig uns doch mal ne ganze xml-datei, alternativ -> speichern und mal selbst mit nem browser oder ähnlichem öffnen, der sagt dir recht schnell wo er fehler gefunden hat.
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 19:54 Nach oben    #9
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Hier ist die XML Datei, bzw soll sie sein.
http://www.radio-gsg.de/interface/getpoll.php

Der Quelltext sieht wie folgt aus:
HTML Code:
  1. <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
  2. <umfrage>
  3.     <ID>17</ID>
  4.     <question>Was macht ihr in den Sommerferien?</question>
  5.     <description><p>Bald sind sie endlich da, die langersehnten Sommerferien.
  6. Doch was macht ihr? Ferien auf Balkonien? Oder fahrt ihr weg?</p>
  7. </description>
  8.     <release>2007-07-01</release>
  9.     <end>2007-07-11</end>
  10.     <voted>1</voted>
  11.     <allvotes>7</allvotes>
  12. <option>
  13.     <id>58</id>
  14.     <choice>Der sch&ouml;nste Ort der Welt ist mein Zuhause.</choice>
  15.     <votes>2</votes>
  16. </option>
  17. <option>
  18.     <id>59</id>
  19.     <choice>Palmen, Strand, Meer und Party - Mittelmeer!</choice>
  20.     <votes>4</votes>
  21. </option>
  22. <option>
  23.     <id>60</id>
  24.     <choice>Ich hasse Sommer, daher fl&uuml;chte ich mich in die Berge.</choice>
  25.     <votes>1</votes>
  26. </option>
  27. <option>
  28.     <id>61</id>
  29.     <choice>Raus aus Europa, rein in den Osten.</choice>
  30.     <votes>0</votes>
  31. </option>
  32. <option>
  33.     <id>62</id>
  34.     <choice>Wild Wild West - Amerika.</choice>
  35.     <votes>0</votes>
  36. </option>
  37. <umfrage>

Es wird bei mir im Opera aber mit einem fehler abgebrochen.

Mit
PHP-Code:
if (file_exists('http://www.radio-gsg.de/interface/getpoll.php')) {
    
$xml simplexml_load_file('http://www.radio-gsg.de/interface/getpoll.php');

echo 
'<pre>';
print_r($xml);#    var_dump($xml);
echo '</pre>';
} else {
    exit(
'Konnte test.xml nicht öffnen.');

Bekomme ich immer "Konnte test.xml nicht öffnen."
Woran kann das liegen?
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz

Geändert von Ben (02.07.2007 um 19:59 Uhr)
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 20:10 Nach oben    #10
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

Deine HTML-Umlaute sind das Problem:
das sagt mir der Firefox:
Zitat:
XML Parsing Error: undefined entity
Location: http://www.radio-gsg.de/interface/getpoll.php
Line Number 14, Column 17: <choice>Der sch&ouml;nste Ort der Welt ist mein Zuhause.</choice>
wenn die ursprünglich schon vorhanden sind
wirst du mit <![CDATA[ ]]>

arbeiten müssen
-> http://www.w3schools.com/xml/xml_cdata.asp
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 20:42 Nach oben    #11
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Ok,
scheint fast zu klappen, aber beim Zeichen "0" meckert er.
Wie kann ich das umgehen?

Zitat:
XML-Interpretation fehlgeschlagen: Syntaxfehler (Zeile: 38, Zeichen: 0)

Dokument als HTML neu analysieren.
Fehler:unexpected end-of-file
Spezifikation:http://www.w3.org/TR/REC-xml/
35: <votes><![CDATA[ 0 ]]></votes>
36: </option>
37: <umfrage>
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 21:11 Nach oben    #12
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

sollte <umfrage> vielleicht </umfrage>

sein ?
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 22:42 Nach oben    #13
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Genial, danke.

Eine kleine Frage zu XML am Rande noch.
Wie kann ich es machen, das ich die XML Datei als Schema sehen kann?
Also mit den Tags?

Schade, es scheint nicht zu klappen.
Mit "<![CDATA[" bekomme ich zwar keinen Fehler mehr, aber ich bekomme über
PHP-Code:
    $xml simplexml_load_file('http://www.radio-gsg.de/interface/getpoll.php');

echo 
'<pre>';
print_r($xml);#    var_dump($xml);
echo '</pre>'
Keinerlei Werte übertragen. Nur ein Array.

Gibt es noch eine Möglichkeit die daten von Server A nach Server B zu bekommen?
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz

Geändert von Jan (02.07.2007 um 22:46 Uhr)
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 22:57 Nach oben    #14
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

Tja, simple-xml kann damit wohl nicht umgehen, hier gibts ne Info für ne Art Workaround:
-> http://changelog.ca/log/2005/06/14/p...nd-my-solution
alternativ musst du den kram selbst parsen

oder du nutzt serialize und unserialize:

Dein Script auf dem anderen Server macht folgendes:
PHP-Code:
echo serialize($deindatenarray); 
das Script auf deinem Server macht dann:

PHP-Code:
$array unserialize(file_get_contents('http://www.andererserver.net/dasanderescript.php'));
var_dump($array); 
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.07.2007, 23:06 Nach oben    #15
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 307
Standard

...oder JSON wäre eine andere Möglichkeit.
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.07.2007, 18:53 Nach oben    #16
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Danke,

werde wohl das mit "serialize()" und "unserialize()" umsetzten.

Gruß
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hardware-RAID-Lösung robo47 Plauderecke 29 26.12.2007 04:49
PHP 5 auf mehr als 10% der Server verfügbar Ben Nachrichten 6 13.09.2006 15:13
[PHP] FTP-Funktionen in PHP nutzen MrNiceGuy Tutorials 0 24.05.2006 14:18
[JAVA] Wie man aus Java mit einem PHP-Script kommuniziert sparrow Tutorials 0 25.03.2006 22:24
[PHP] Wie übergebe ich Daten per URL? Ben Tutorials 0 05.12.2004 14:36


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45