Öffnen einer Textdatei übers Netzwerk.

Es gab doch mittlerweile so viele Beispiele...
Ich habe auch alle ausprobiert aber alle haben mir nur das Verzeichniss ausgeworfen, keines die Datei. Sorry, das ich so nerv, ich versuche ja durchzusteigen aber alles ist so verwirrend.

Mein aktueller Code ist derhier, alles ganz einfach:


PHP:
<?php
//alle Fehlermelungen anzeigen.

 ini_set('display_errors', 1);
    error_reporting(E_ALL);


$fp = fsockopen ("192.168.178.31", 80, $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)<br />\n";
} else {
   fputs ($fp, "GET / HTTP/1.0\r\n\r\n");
   while (!feof($fp)) {
       echo fgets($fp,128);
   }
   fclose($fp);
}
echo '<textarea name="" cols="50" rows="50">'.$meineDatei.'  </textarea>';
?>

Bei $meineDatei soll eben der Inhalt der Datei "meineDatei.txt" rein. Mehr will ich nicht, mehr ist nicht nötig. Wenn der da drin steht kann ich ihn schon von allein weiterverarbeiten aber ich bekomme ja nichtmal dieses einfach Ding hin.
 
Dass Du bei GET / nicht die Datei kriegst sondern das Verzeichnislisting sollte doch eigentlich klar sein, oder?
Ein wenig was von HTTP solltest Du doch schon kennen, immerhin benutzt Du es jeden Tag.
 
Halt, moment, jetzt geht es......ok cool...

aber wenn ich das http/1.0\r\n\r\n weglasse passiert gar nix mehr. Und ich will diese Komischen ausgaben "HTTP/1.1 200 OK Date: Tue, 18 Jul 2006 18:11:23 GMT Server: Apache/2.2.2 (Win32) DAV/2 mod_ssl/2.2.2 OpenSSL/0.9.8b mod_autoindex_color PHP/5.1.4 Last-Modified: Sun, 16 Jul 2006 15:55:29 GMT ETag: "101-5f2df-f15b42f4" Accept-Ranges: bytes Content-Length: 389855 Connection: close Content-Type: text/plain" nicht haben.
 
Die Header vom Server zurueckgeliefert zu bekommen ist eigentlich keine schlechte Sache. Daran kann man zum Beispiel genau erkennen was man da zurueckbekommt. Das kann bei wechselnden Dateinamen (z.B. aus einer Datenbank) nuetzlich sein.
Und man kann die Header auch recht einfach von den Daten abtrennen.

Also klappt es jetzt?
Wenn ja, dann poste doch fuer die Nachwelt noch den Code wie er Dich am Ende zum Erfolg gefuehrt hat.
 
Für die Nachwelt? :suspekt:
Ich denke die Nachwelt schafft es besser als ich aber ok.
Mein aktueller Code sieht so aus:
PHP:
<?php
//alle Fehlermelungen anzeigen.
ini_set('display_errors', 1);
error_reporting(E_ALL);

//verbindung herstellen
$fp = fsockopen ("192.168.178.31", 80, $errno, $errstr, 30);
if (!$fp) {
   //ein error? Dann Ausgabe
    echo "$errstr ($errno)<br />\n";
} else {
   //kein error, dann normal weiter
   fputs ($fp, "GET /meineDatei.txt http/1.0\r\n\r\n");
   while (!feof($fp)) {
       $text=fgets($fp);
   }
   fclose($fp);
}
//variable anhand des <p> trennen
$arr=explode("<p>",$text);
echo '<textarea name="" cols="50" rows="50">'.$arr[1].'  </textarea>';
?>

Für alle die das jetzt nicht verstehen weil sie keine Profis sind:

Da meineDatei.txt auch eine Datei ist wo ich den Inhalt bestimmen kann habe ich am Anfang ein <p> eingefügt. Gebe ich jetzt ein echo fgets($fp) aus ist zwischen Header und Inhalt ein Absatz.
Ok, sieht schon ganz gut aus, wesentlich übersichtlicher aber noch nicht ganz das was ich willl Also speichere ich das ganze in der Variable $text und lasse es exploden anhand des vorher eingefügten <p> und wenn ich nun die Variable arr[1] aufrufe bekomme ich nur meinen Text, ohne den Header.
Das ist das was ich wollte und somit nochmal danke an alle die mir dabei geholfen haben und mich ertragen haben......ich komme bestimmt bald wieder auf euch zurück.
 
Zurück