Soße: Text aus einer texdatei auslese

Halle
Wie lese ich eine *.txt aus ?

Danko

  1. Hallo Soße,

    wohin soll sie denn ausgelesen werden?

    Direkt in den Browser am leichtesten mit

    readfile("Filename");

    öffnet die Datei, liest und sendet die Daten an den Standardausgabekanal (hier Browser) und schließt die Datei wieder.

    Wenn Du die Daten aber erst noch verarbeiten musst, mit

    $fp = fopen("dateiname","r");

    if (!$fp) die("Öffnen der Datei dateiname fehlgeschlagen");

    while (! feof($fp))
    {
      $zeile = fgets($fp);
      ....
      ....
    }

    fclose($fp);

    Grüße aus http://www.braunsdchweig.de

    Tom

    1. Hi Tom...

      [...]

      Grüße aus http://www.braunsdchweig.de

      bist du umgezogen? ;-))

      Fabian
      [scnr]

    2. readfile("Filename");

      ne das ist zu direkt - ich will den text einfach nur in einer variablen speichern, so das der test einer textdatei in $text steht !

      1. readfile("Filename");
        ne das ist zu direkt - ich will den text einfach nur in einer variablen speichern, so das der test einer textdatei in $text steht !

        Die antwort auf das erste osting kam im 0,nix und auf dieses posting ist immer nochunbeantwortet.

      2. readfile("Filename");
        ne das ist zu direkt - ich will den text einfach nur in einer variablen speichern, so das der test einer textdatei in $text steht !

        Hallo Soße,    <----- Das ist die Begrüßung

        dan musst Du eben eine andere Funktion nehmen. Da fiele mir z.B.

        $bytestream = fread($fp,filesize("dateiname"));

        ein.

        mit fread($handle,$count) werden ab der aktuellen Dateizeigerposition $count bytes gelesen, egal was drinsteht im Byte.

        Grüße   <------ das sit die Verabschiedung

        Tom

      3. hi <- minimalbegrüßung

        ne das ist zu direkt - ich will den text einfach nur in einer variablen speichern, so das der test einer textdatei in $text steht !

        $daten = file("dateiname.txt");
        $variableinderdieganzedateisteht = implode("",$daten);

        Fabian

        1. Hi Fabi, schon wieder ich *g*

          $daten = file("dateiname.txt");
          $variableinderdieganzedateisteht = implode("",$daten);

          Du hast jetzt aber auf den Pferdefuß nicht hingewiesen:

          file() liest die Datei in ein Array ein. D.h., dass immer am Zeilenende ein Datensatz endet. In jedem Element des Arrays steht also eine Zeile der Datei. Ob das trotz der Unterschiede zwischen
          DOS   0x0D0A  = CRLF
          MAC   0x0D    = CR
          UNIX  0x0A    = LF

          für das Zeilenendezeichen funktioniert, vermag ich jetzt nicht zu sagen.

          Tom

          1. Hi Fabi, schon wieder ich *g*

            jaja, du schon wieder =)

            $daten = file("dateiname.txt");
            $variableinderdieganzedateisteht = implode("",$daten);

            Du hast jetzt aber auf den Pferdefuß nicht hingewiesen:

            wieso? endet jeder datensatz auf "pferdefuss"? *scnr*

            file() liest die Datei in ein Array ein. D.h., dass immer am Zeilenende ein Datensatz endet. In jedem Element des Arrays steht also eine Zeile der Datei. Ob das trotz der Unterschiede zwischen
            DOS   0x0D0A  = CRLF
            MAC   0x0D    = CR
            UNIX  0x0A    = LF

            ich denke schon, die \n\r und co. werden ja beibehalten, dadurch das als delimeter "", also ein leerstring angegeben ist. würde man sich das leben schwer machen wollen und unbedingt CR als Delimeter benutzen, ist man schlicht selbst schuld...

            bei mir aufm test-apache hab ich keine probleme feststellen können =)
            (hab zur probe einfach eine TXT auf die weise bearbeitet und dann in <pre></pre> ausgegeben. die umbrüche werden beibehalten...)

            für das Zeilenendezeichen funktioniert, vermag ich jetzt nicht zu sagen.

            *test it*

            Fabian

  2. Tach

    Halle
    Wie lese ich eine *.txt aus ?

    Mit fopen() oder file().

    Wie's Dir lieber ist.

    Ciao,

    Harry