CSV-Daten von anderem Server nutzen
jobo
- php
Hallo,
auf dem einen Server lese ich CSV-Daten mit fopen() und fgetcsv(). Wie komme ich denn an die Daten, wenn ich nicht direkt übers Dateisystem zugreifen kann? fopen() per http geht ja wohl nicht. Allgemeiner formuliert: wie komme ich denn mit PHP überhaupt an Daten eines anderen Servers? Vielleicht schon gleich in serialisierter Form zB.
Gruß
jobo
auf dem einen Server lese ich CSV-Daten mit fopen() und fgetcsv(). Wie komme ich denn an die Daten, wenn ich nicht direkt übers Dateisystem zugreifen kann? fopen() per http geht ja wohl nicht.
Sicher - aber nur mit allow_url_fopen
Allgemeiner formuliert: wie komme ich denn mit PHP überhaupt an Daten eines anderen Servers?
fsockopen sofern sie per HTTP erreichbar sind.
Vielleicht schon gleich in serialisierter Form z.B.
Ohne zutun des anderen Servers garnicht.
Hallo,
Vielleicht schon gleich in serialisierter Form z.B.
Ohne zutun des anderen Servers garnicht.
Klar, aber das wäre ja die einfachste Übung, ein kleines Script "spitOutCsv.php" was die serialisierten Daten ausechoen würde. Aber wenn ich vom anderen Server darauf dann per http-request zugreife müsste ich dem Getter-Skript ja irgendwie (eval?) sagen, dass das serialisierte Daten sind und wie er damit umgehen soll. Was zB. macht PHP mit dem HTTP-Headern, also wenn es per HTTP eine Seite von wo-auch-immer holt?
Gruß
jobo
Klar, aber das wäre ja die einfachste Übung, ein kleines Script "spitOutCsv.php" was die serialisierten Daten ausechoen würde. Aber wenn ich vom anderen Server darauf dann per http-request zugreife müsste ich dem Getter-Skript ja irgendwie (eval?) sagen, dass das serialisierte Daten sind und wie er damit umgehen soll.
unserialize() ist dir ein Begriff?
Was zB. macht PHP mit dem HTTP-Headern, also wenn es per HTTP eine Seite von wo-auch-immer holt?
fopen() ignoriert sie afaik während fsockopen() (gelesen jeweils mit fgets) die Header anzeigt - aber diese bei Bedarf zu entfernen ist kein Problem.
Hallo,
unserialize() ist dir ein Begriff?
Ja.
fopen() ignoriert sie afaik
ja:
https://forum.selfhtml.org/?t=191673&m=1278306
Gruß
jobo
Hallo,
[..] Allgemeiner formuliert: wie komme ich denn mit PHP überhaupt an Daten eines anderen Servers? Vielleicht schon gleich in serialisierter Form zB.
Allgemein formuliert: Wenn die Daten über ein netzwerkfähiges Protokoll bereitgestellt wurden. Z.B. IO-Socket oder HTTP o.a.
Hotte
Hallo,
Allgemein formuliert: Wenn die Daten über ein netzwerkfähiges Protokoll bereitgestellt wurden. Z.B. IO-Socket oder HTTP o.a.
Bei IO-Socket spuckt mir Google immer nur PERL-Klassen aus IO::Socket. HTTP könnte ich als String in eine Variable packen und dann unserializen, oder? Mal probieren.
Gruß
jobo
Hallo,
Bei IO-Socket spuckt mir Google immer nur PERL-Klassen aus IO::Socket. HTTP könnte ich als String in eine Variable packen und dann unserializen, oder? Mal probieren.
$fh = fopen("http://example.com/tests/lila.php","r");
while($line = fgets($fh)) {
var_dump(unserialize($line));
}
liefert:
array(1) {
["li"]=>
string(2) "la"
}
wenn in tests/lila.php
$myArray["li"]="la";
echo serialize($myArray);
seht. Fein das.
Gruß
jobo
Hallo,
zu früh gefreut, wenn in den Werten Absätze sind. Muss man den ganzen Auswurf einlesen, wie geht denn das?
Gruß
jobo
Hallo,
zu früh gefreut, wenn in den Werten Absätze sind. Muss man den ganzen Auswurf einlesen, wie geht denn das?
while($line = fgets($fh)) {
$mySerVar .= $line;
}
Gruß
jobo