mit php inhalt einer externen datei auslesen
mit php inhalt einer externen datei auslesen
moin!
also wie ich mittlerweile festgestell habe geht das mit fsockopen() etc. also, einen port zum internet öffnen, eine bestimmte datei auf einem bestimmten server zu öffnen und den inhalt auszulesen...jetzt wollte ich fragen, ob es eine möglichkeit gibt, so eine seite zu öffnen und dann ein sich dortbefindiges post-formular auszufüllen und abzuschicken? und ist es dann widerum auch noch möglich, dass was in einer bestimmten datei steht auszulesen und je nachdem, was dort steht, eine andere ausgabe zu machen?
versteht ihr das? ^^ wenn ja, kann mir evtl. jemand erklären wie dsa geht? (:
greetz
also wie ich mittlerweile festgestell habe geht das mit fsockopen() etc. also, einen port zum internet öffnen, eine bestimmte datei auf einem bestimmten server zu öffnen und den inhalt auszulesen...jetzt wollte ich fragen, ob es eine möglichkeit gibt, so eine seite zu öffnen und dann ein sich dortbefindiges post-formular auszufüllen und abzuschicken? und ist es dann widerum auch noch möglich, dass was in einer bestimmten datei steht auszulesen und je nachdem, was dort steht, eine andere ausgabe zu machen?
versteht ihr das? ^^ wenn ja, kann mir evtl. jemand erklären wie dsa geht? (:
greetz
Wenn Chuck Norris ins Wasser fällt, wird er nicht nass…aber das Wasser wird Chuck Norris.
-
- Mitglied
- Beiträge: 328
- Registriert: 18.03.2006 23:21
- Kontaktdaten:
Du bist dir sicher, dass du weißt was fsockopen() macht? Die Socket-Funktionen bieten dir bei PHP nur eine Schnittstelle um per TCP oder UPD (bzw. irgendeinem anderen Protokoll) zu kommunizieren. Um eine Datei auf einem Webspace abzufragen (downzuloaden) müsstest du FTP Zugang haben und würdest dann per FTP-Protokoll auf die Datei zugreifen.
Da du aber Formulare ausfüllen willst, kannst du diese Funktionen nicht benutzen, denn sie bieten dir keine Browser-Schnittstelle, sondern nur Funktionen für TCP etc.
Da du aber Formulare ausfüllen willst, kannst du diese Funktionen nicht benutzen, denn sie bieten dir keine Browser-Schnittstelle, sondern nur Funktionen für TCP etc.
Modeinbau, Banner- und Grafik-Design - gegen einen kleinen Aufpreis! Mail: sebastian@rayloaded.de oder per PN
Rayloaded.de - Your programmers heaven.
Rayloaded.de - Your programmers heaven.
Ne, bin ich ja eben nicht sicher 
Verstehs sowieso net ganz richtig so...Aber man kann schon mit PHP, irgendwie eine Seite im Internet öffnen, oder? Wie macht z.B. phpBB das, im ACP wo es auf die neueste Version prüft? Da wird auch einfach nur der Inhalt der Textdatei: http://www.phpbb.com/updatecheck/20x.txt ausgelesen und anhand dieser erkannt ob die aktuellste Version da ist. Also, wie macht es das, wenn es nur über FTP geht? Im Quelltext steht an dieser Stelle:
edit:
greetz

Verstehs sowieso net ganz richtig so...Aber man kann schon mit PHP, irgendwie eine Seite im Internet öffnen, oder? Wie macht z.B. phpBB das, im ACP wo es auf die neueste Version prüft? Da wird auch einfach nur der Inhalt der Textdatei: http://www.phpbb.com/updatecheck/20x.txt ausgelesen und anhand dieser erkannt ob die aktuellste Version da ist. Also, wie macht es das, wenn es nur über FTP geht? Im Quelltext steht an dieser Stelle:
Code: Alles auswählen
// Check for new version
$current_version = explode('.', '2' . $board_config['version']);
$minor_revision = (int) $current_version[2];
$errno = 0;
$errstr = $version_info = '';
if ($fsock = @fsockopen('www.phpbb.com', 80, $errno, $errstr, 10))
{
@fputs($fsock, "GET /updatecheck/20x.txt HTTP/1.1\r\n");
@fputs($fsock, "HOST: www.phpbb.com\r\n");
@fputs($fsock, "Connection: close\r\n\r\n");
$get_info = false;
while (!@feof($fsock))
{
if ($get_info)
{
$version_info .= @fread($fsock, 1024);
}
else
{
if (@fgets($fsock, 1024) == "\r\n")
{
$get_info = true;
}
}
}
@fclose($fsock);
usw...
Und wie genau sende ich dann den POST header? Also wie setze ich die einzelnen POST-variablen? ^^ danke schonmal (:fanrpg hat geschrieben:Erzähl mal keinen Mist![]()
mit fsockopen() kann man auch eine http Abfrage ausführen.
mit fputs() einfach dann einen dementsprechenden POST Header senden.
greetz
Wenn Chuck Norris ins Wasser fällt, wird er nicht nass…aber das Wasser wird Chuck Norris.
Installier dir am besten mal das Firefox-Plugin LiveHTTPHeaders, dort kannst du genau sehen was beim Aufrufen von Seiten bzw. Abschicken von Formularen übertragen wird, das musst du dann nur noch nachbauen.
Alternativ lies die Doku, sprich die RFC für HTTP 1.0 und 1.1 - das ist aber etwas aufwändiger
Alternativ lies die Doku, sprich die RFC für HTTP 1.0 und 1.1 - das ist aber etwas aufwändiger

KB:knigge
-
- Mitglied
- Beiträge: 328
- Registriert: 18.03.2006 23:21
- Kontaktdaten:
Klar, aber kein Formular ausfüllen!fanrpg hat geschrieben:Erzähl mal keinen Mist![]()
mit fsockopen() kann man auch eine http Abfrage ausführen.
mit fputs() einfach dann einen dementsprechenden POST Header senden.

Außer du übergibst die Parameter direkt an ein php-Skript.
Modeinbau, Banner- und Grafik-Design - gegen einen kleinen Aufpreis! Mail: sebastian@rayloaded.de oder per PN
Rayloaded.de - Your programmers heaven.
Rayloaded.de - Your programmers heaven.
Kommt das nicht am Ende aufs selbe raus?Sebastian R. hat geschrieben:Klar, aber kein Formular ausfüllen!fanrpg hat geschrieben:Erzähl mal keinen Mist![]()
mit fsockopen() kann man auch eine http Abfrage ausführen.
mit fputs() einfach dann einen dementsprechenden POST Header senden.![]()
Außer du übergibst die Parameter direkt an ein php-Skript.

also muss ich dann via fputs sowas in der art übergeben:
XX muss ich dann nur noch ersetzen mit der länge der kompletten zeile?
ist das so richtig?
greetz
Code: Alles auswählen
Content-Type: application/x-www-form-urlencoded
Content-Length: XX
variable=value&variable_zwei=value_zwei
ist das so richtig?
greetz
Wenn Chuck Norris ins Wasser fällt, wird er nicht nass…aber das Wasser wird Chuck Norris.