Ankündigung

Einklappen
Keine Ankündigung bisher.

Datei auslesen

Einklappen

Neue Werbung 2019

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

  • Datei auslesen

    Hallo, ev ist es wohl eine Blöde anfänger frage, aber ich finde mit google keien lösung.

    ich habe eine datei.

    nennt sich
    ranking.rm

    und dort sind datensätze wie diese:

    PHP-Code:
    STEAM_0:0:1234567;24.3.2008;88.88.1889.60;28.000000;0;0;2;8;1;0;62;2518;8;21;6;13;4;1;5;2;0;0;0;4;1;3;0;0;0;0;0;0;0;17;11;asdfgh 
    diese zeilen muss ich auslesen und verarbeiten. Im moment wüsste ich net nach welchen befehlen ich googeln muss um diese datei zu öffen, und mit welchem ich die zeile dann aufsplitten kann in einzelne variablen.

    Ich erwarte keine lösung sondern nur ne hilfe mit welchen befehlen ich mich befassen müsste

    danke gruß Jörg


  • #2
    PHP-Code:
    <?php
    $src 
    file_get_contents("./ranking.rm"); // Liest den Inhalt der Datei in $src (PHP 4 >= 4.3.0, PHP 5)
    $data explode(";",$src); //trennt die einzelnen daten voneinander, wobei ; der Trimmer ist
    print_r($data);
    echo 
    $data['0'].";".$data['1'].";".$data['2'].";".$data['3']; //usw

    // $data is ein Array was die einzelnen daten beinhaltet
    ?>
    vll isses das

    Kommentar


    • #3
      okay das kann sein, wie mache ich es aber wenn ich mehr zeilen habe? Die zeilen variieren immer.

      finde ich das bei print_r ???

      Kommentar


      • #4
        ne print_r war einfach nur zum ausgeben des arrays,

        da kannst eigentlich auch wieder mit explode arbeiten vorrausgesetzt die zeilen werden immer sauber getrennt

        dann einfach $rows = explode("\n",$file); musste mal schauen ob es so geht

        quasi dann so

        PHP-Code:
         <?php
        $src 
        file_get_contents("./ranking.rm"); // Liest den Inhalt der Datei in $src (PHP 4 >= 4.3.0, PHP 5)
        $rows explode("\n",$src);
        foreach(
        $rows as $row) { // Für jeden Zeilenumbruch so zu sagen...
        $data explode(";",$row); //trennt die einzelnen daten voneinander, wobei ; der Trimmer ist
        echo $data['0'].";".$data['1'].";".$data['2'].";".$data['3']; //usw
        }
        // $data is ein Array was die einzelnen daten beinhaltet
        ?>

        Kommentar


        • #5
          Okay was ich nun net verstehe. wenn ich nun die variablen weiter verarbeite, zb errechnen von werten etc, wie unterscheide ich dann aus welcher zeile sie sind,

          Mit Rows habe ich ja nen zeilen wert
          dann gitb er für jede zeile die werte aus, aber muss ich dann den wert data mit einer zahl ergänzen, um die richtige zeile auszulesen?

          Kommentar


          • #6
            $data enthält die spaltenangaben innerhalb der zeile.

            die zeilen sind im $rows-array gespeichert, allerdings als zeichenkette.

            du kannst deine zeile ganz normal mit $rows[zeilennummer-1] ansprechen, und erhälst dann die gesamte zeile.

            aber so wie du dich liest, würd ich dir evtl zuerst nen grundlagen-tut empfehlen (#php/QuakeNet Tutorial - Einführung), schon allein wegen arrays, schleifen und so, was du halt grad am rätselraten bist
            Karteikasten
            "Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

            Kommentar


            • #7
              Da hast du recht, ich werde das abends durchlesen danke auch an Luigi für icq fragen beantworten

              Kommentar


              • #8
                PHP-Code:
                <table border=1>
                <tr><th>SteamID</th><th>datum</th><th>ip</th><th>Punkte</th><th>Name</th><th>KPD</th></tr>
                <?php
                function bubbleSort($sort_array,$reverse,$field)
                {
                  for (
                $i 0$i sizeof($sort_array); $i++){
                    for (
                $j $i 1$j sizeof($sort_array); $j++){
                      if(
                $reverse){
                        if (
                $sort_array[$i][$field] < $sort_array[$j][$field]){
                          
                $tmp $sort_array[$i];
                          
                $sort_array[$i] = $sort_array[$j];
                          
                $sort_array[$j] = $tmp;
                        }
                      }else{
                        if (
                $sort_array[$i][$field] > $sort_array[$j][$field]){
                          
                $tmp $sort_array[$i];
                          
                $sort_array[$i] = $sort_array[$j];
                          
                $sort_array[$j] = $tmp;
                        }
                      }
                    }
                  }
                  return 
                $sort_array;


                $src file_get_contents("./ranking.rm"); // Liest den Inhalt der Datei in $src (PHP 4 >= 4.3.0, PHP 5)
                $rows explode("\n",$src);
                foreach(
                $rows as $row) { // Für jeden Zeilenumbruch so zu sagen...
                $data explode(";",$row); //trennt die einzelnen daten voneinander, wobei ; der Trimmer ist
                    
                if($data['34']>0)
                    
                $data['KPD'] = $data['33']/$data['34'];
                    elseif(
                $data['33']>0)
                    
                $data['KPD'] = $data['33'];
                    else
                    
                $data['KPD'] = 0;
                $res[] = $data;
                }

                $res bubbleSort($res1"KPD"); // 0/1 als 2. Parameter für die sortier Reihenfolge

                foreach($res as $data) {
                    
                $data['KPD'] = round($data['KPD'],2);
                    echo 
                "<tr><td>".$data['0']."</td><td>".$data['1']."</td><td>".$data['2']."</td><td>".$data['12']."</td><td>".$data['35']."</td><td>".$data['KPD']."</td></tr>";
                }
                ?>
                </table>
                is das endergebnis einer langen icq sitzung :P

                handelt sich wohl um das ranking vom RatMod

                Kommentar


                • #9
                  Habe es auch schon weiter ausgebaut und mich auch noch mit SQL vertraut gemacht ein wenig. Danke nochmals super support

                  Kommentar

                  Lädt...
                  X