Auslesen einer .TXT datei die online liegt auf einem server!!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Auslesen einer .TXT datei die online liegt auf einem server!!

    Hallo,

    kann mir einer vielleicht helfen bei meinem Problem.
    Habe eine .txt datei die auf einem Server liegt die ich auslesen möchte:

    PHP-Code:
    $datei implode("\n",file("http://xxx.xx.xx.xx/namen.txt")); 
    jetzt wollte ich nur einen bestimmten teil davon haben ( also was zwischen zwei Zeilen liegt:

    PHP-Code:
    $ausgabe =preg_match("!!CLIENTS(.*?)!SERVERS!im",$datei); 
    und das ergebnis wollte ich dann sichtbar machen:

    PHP-Code:
    echo $ausgabe

    jetzt meine frage!

    Ist das so alles richtig oder kann ich das alles in die tonne knüppeln!

    Aus dem buch PHP lernen kann man das leider nicht richtig lernen.

    Danke für eure anworten

    Gruss Nikolaj
    Zuletzt geändert von NWenzel; 17.05.2004, 10:22.

  • #2
    hm probiers aus. Was wird den ausgeben?
    Schau dir mal das hier an:preg_match_all
    und dann das hier:Pattern Syntax

    Kommentar


    • #3
      was ich noch vergessen haben zu sagen, dass überhaupt nichts ausgeben wird!

      Gruss Nikolaj

      Kommentar


      • #4
        was ich noch vergessen haben zu sagen, dass überhaupt nichts ausgeben wird!
        kein Wunder. Weil du preg_match falsch verwendest:
        Original aus dem php-manual
        int preg_match ( string pattern, string subject [, array matches [, int flags [, int offset]]])
        [...]
        If matches is provided, then it is filled with the results of search. $matches[0] will contain the text that matched the full pattern, $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on.
        Imho dürfen delimiter nicht im regulären Ausdruck selbst vorkommen (wenn sie nicht auskommentiert sind). deshalb probier mal dashier:
        PHP-Code:
        preg_match("/!CLIENTS(.*?)!SERVERS/im",$datei,$matches);
        print_r($matches); 

        Kommentar


        • #5
          sorry jetzt versteh ich überthaupt nichts mehr!

          Ich probier mich so durch zu wurschteln.

          Gruss Nikolaj

          Kommentar


          • #6
            jetzt bekomme ichdas ausgeben:

            Array ()

            wie kann ich dann das anzeigen lassen nachdem ich suche?
            Zuletzt geändert von NWenzel; 17.05.2004, 18:50.

            Kommentar


            • #7
              sorry jetzt versteh ich überthaupt nichts mehr!
              Also preg_match schriebt die treffer von seiner suche in ein array, das als dritter parameter angegebenr werden kann (bei dir is des jetzt $matches)
              der rückgabewert von preg_match hingegen enthält nur die anzahl der treffer.
              wie kann ich dann das anzeigen lassen nachdem ich suche?
              Eigentlich sollte jetzt angezeigt werden wonach du suchts (mit "print_r()"). da aber offensichtlich das preg_match nichts findet, solltest du mal prüfen ob "!CLIENTS" und "!SERVER" wirklich in $datei vorkommen (z.b. mit strpos() oder einfach $datei ausgeben)

              Kommentar


              • #8
                Hi Oppi!

                Bin jetzt anders vorgegangen:
                PHP-Code:
                $arrfile("http://212.62.68.37/whazzup.txt");
                $arr1preg_grep("/GWG/"$arr);
                foreach(
                $arr1 as $erg)
                {
                echo 
                "$erg<br><br>";

                bekomme jetzt auch schon das angezeigt was ich möchte bloss wie kann ich das jetzt in tabellen einbauen?

                Gruss Nikolaj

                P.S.: Hier die URL was ich angezeigt bekommen ich möchte alles was dürch einen : getrennt wird, getrennt anzeigen können.

                http://www.german-airline.de/1.php
                Zuletzt geändert von NWenzel; 18.05.2004, 14:25.

                Kommentar


                • #9
                  Ich nochmal,

                  ist es den möglich das script so zu schreiben das man im sagt:

                  Alles was zwischen dem ersten : und dem zweiteb : liegt soll in ein array mit dem namen "Namen" rein alles was zwischen dem zweiten : und dritten : soll unter dem namen "Nummer laufen und das ganze immer so weiter. damit ich das nachen schön einfach in einen tabelle einbauen kann.

                  GWG020:503161:Nikolaj Wenzel [SO] - Germany, Heidelberg / - :PILOT::50.048222:8.585380:364:0:T/A320/F:350:EDDF:FL310:EDDP:FPIOSDE9:1:0:1200:0:40:1:I:1130:0000:11:30:::NONE: (v1.9):LEPA MEROS2B UN853 LUMAS UM985 SUMIR UM726 LASGA T202 GOLAT2W SULED28 EDDP:::::::20040518102017

                  Kommentar


                  • #10
                    Wenn du die Zeilen einzeln verarbeitest kannst du es z.B. so machen:
                    PHP-Code:
                    $zeile 'eine mit : seperierte datenzeile';
                    list(
                    $name$nummer$rest) = explode(':'$zeile3);

                    // verarbeiten von $name, $nummer und $rest 
                    grüße, hOk

                    Kommentar


                    • #11
                      hi hOk

                      und wie kann ich das dann ausgeben???

                      Gruss Nikolaj

                      Kommentar


                      • #12
                        Original geschrieben von NWenzel
                        und wie kann ich das dann ausgeben???
                        PHP-Code:
                        echo $name
                        ...oder habe ich dich jetzt falsch verstanden?

                        Kommentar


                        • #13
                          Also mus das dann so aussehen?

                          PHP-Code:
                          $arrfile("http://212.62.68.37/whazzup.txt");
                          $arr1preg_grep("/GWG/"$arr);
                          foreach(
                          $arr1 as $erg)
                          $zeile '$erg';
                          list(
                          $name$nummer$rest) = explode(':'$zeile3);

                          echo 
                          $name

                          Kommentar


                          • #14
                            Ja, aber wenn ich das richtig sehe,
                            brauchst du jetzt nicht mehr die preg_grep-Zeile,
                            d.h.: du kannst direkt mir $arr weiterarbeiten.

                            Kleiner Tip: die php-Funktion var_dump gibt
                            dir Variablen übersichtlich aus, so kannst du
                            beispielsweise dir mal das Array-$arr ausgeben
                            lassen.

                            nette Grüße, hOk

                            P.S.: Muss jetzt leider aus dem Haus

                            Kommentar


                            • #15
                              Also das haut so nicht hin!

                              ich glaube das das $erg nicht sich wieder wannderlt in text wenn das überhaupt geht?

                              Gruss Nikolaj

                              Kommentar

                              Lädt...
                              X