Matrix aus text Datei auslesen

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

  • Matrix aus text Datei auslesen

    Hallo Forum,

    leider weiss ich nicht mehr weiter. Ich habe eine Text-Datei die ich auslesen möchte. Das geht auch, nun möchte ich das die böcke in der Text-Datei durch eine schleife getrend ausgegeben werden.

    Die Text Datei in der die daten sind sieht so aus:
    PHP-Code:
    Block-01
    bg
    .gif bg.gif bg.gif bg.gif bg.gif
    bg
    .gif bg.gif bg.gif bg.gif bg.gif
    ws
    .gif ws.gif ws.gif ws.gif ws.gif
    bg
    .gif bg.gif bg.gif ws.gif ws.gif
    ws
    .gif ws.gif ws.gif ws.gif ws.gif
    Block
    -02
    bg
    .gif bg.gif bg.gif bg.gif bg.gif
    ws
    .gif ws.gif ws.gif ws.gif ws.gif
    ws
    .gif ws.gif ws.gif ws.gif ws.gif
    ws
    .gif ws.gif ws.gif ws.gif ws.gif
    ws
    .gif ws.gif ws.gif ws.gif ws.gif
    Block
    -03
    bg
    .gif bg.gif bg.gif bg.gif bg.gif
    bg
    .gif bg.gif bg.gif bg.gif bg.gif
    ws
    .gif ws.gif ws.gif ws.gif ws.gif
    bg
    .gif bg.gif bg.gif bg.gif bg.gif
    bg
    .gif bg.gif bg.gif bg.gif bg.gif
    ... nun so weiter 
    Das ist der PHP-Code dazu.
    PHP-Code:
    $datei "karte.txt"// Name der Datei
    $string file($datei); // Datei in ein Array einlesen

    $teile explode(" ",$string[0]);
    $a_01 $teile[0];
    $a_02 $teile[1];
    $a_03 $teile[2];
    $a_04 $teile[3];
    $a_05 $teile[4];
    $teile explode(" ",$string[1]);
    $b_01 $teile[0];
    $b_02 $teile[1];
    $b_03 $teile[2];
    $b_04 $teile[3];
    $b_05 $teile[4];
    $teile explode(" ",$string[2]);
    $c_01 $teile[0];
    $c_02 $teile[1];
    $c_03 $teile[2];
    $c_04 $teile[3];
    $c_05 $teile[4];
    $teile explode(" ",$string[3]);
    $d_01 $teile[0];
    $d_02 $teile[1];
    $d_03 $teile[2];
    $d_04 $teile[3];
    $d_05 $teile[4];
    $teile explode(" ",$string[4]);
    $e_01 $teile[0];
    $e_02 $teile[1];
    $e_03 $teile[2];
    $e_04 $teile[3];
    $e_05 $teile[4];

    echo
    "<table cellspacing=\"1\" cellpadding=\"1\" border=\"0\" bgcolor=\"#ff0000\"><tr>";
    $a 1;
    while (
    $a <= 10) {
    echo
    "<td>";
    $i 1;
    while (
    $i <= 10) {
      echo 
    "<div align=\"center\">Block - $a - $i </div>";
      echo
    "<table cellspacing=\"1\" cellpadding=\"1\" border=\"0\" bgcolor=\"#ff0000\">";
      echo
    "<tr>";
      echo
    "<td><img src=\"$a_01\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$a_02\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$a_03\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$a_04\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$a_05\" width=\"50\" height=\"32\"></td>";
      echo
    "</tr>";
      echo
    "<tr>";
      echo
    "<td><img src=\"$b_01\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$b_02\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$b_03\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$b_04\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$b_05\" width=\"50\" height=\"32\"></td>";
      echo
    "</tr>";
      echo
    "<tr>";
      echo
    "<td><img src=\"$c_01\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$c_02\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$c_03\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$c_04\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$c_05\" width=\"50\" height=\"32\"></td>";
      echo
    "</tr>";
      echo
    "<tr>";
      echo
    "<td><img src=\"$d_01\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$d_02\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$d_03\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$d_04\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$d_05\" width=\"50\" height=\"32\"></td>";
      echo
    "</tr>";
      echo
    "<tr>";
      echo
    "<td><img src=\"$e_01\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$e_02\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$e_03\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$e_04\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$e_05\" width=\"50\" height=\"32\"></td>";
      echo
    "</tr>";
      echo
    "</table>";
      
    $i++;
      }
      echo
    "</td>";
      
    $a++;
      }
    echo
    "</tr></table>"
    Zum schluss endstehen 10 x 10 Felder in denn 5 x 5 Felder mit unterschiedlichen Grafiken endhalten sind, die aus der Text-Datei ausgelesen werden.

    Bin für jeden hinweis Dankbar.

  • #2
    Also als 1. gibt es for-Schleifen . Dann musst du nicht mehr eine Variable setzen, eine whileschleife machen und die variable da drin erhöhen.


    2.


    PHP-Code:
      echo "<div align=\"center\">Block - $a - $i </div>";
      echo
    "<table cellspacing=\"1\" cellpadding=\"1\" border=\"0\" bgcolor=\"#ff0000\">";
      echo
    "<tr>";
      echo
    "<td><img src=\"$a_01\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$a_02\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$a_03\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$a_04\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$a_05\" width=\"50\" height=\"32\"></td>";
      echo
    "</tr>";
      echo
    "<tr>";
      echo
    "<td><img src=\"$b_01\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$b_02\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$b_03\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$b_04\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$b_05\" width=\"50\" height=\"32\"></td>";
      echo
    "</tr>";
      echo
    "<tr>";
      echo
    "<td><img src=\"$c_01\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$c_02\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$c_03\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$c_04\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$c_05\" width=\"50\" height=\"32\"></td>";
      echo
    "</tr>";
      echo
    "<tr>";
      echo
    "<td><img src=\"$d_01\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$d_02\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$d_03\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$d_04\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$d_05\" width=\"50\" height=\"32\"></td>";
      echo
    "</tr>";
      echo
    "<tr>";
      echo
    "<td><img src=\"$e_01\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$e_02\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$e_03\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$e_04\" width=\"50\" height=\"32\"></td>";
      echo
    "<td><img src=\"$e_05\" width=\"50\" height=\"32\"></td>";
      echo
    "</tr>";
      echo
    "</table>"

    ist nicht wirklich schön. Wenn du das umbedingt mit nem Echo mittem im Quelltext ausgeben willst, so mache ein echo und haue da alles rein was du in 2000 echos untereinander hast.

    3. habe ich nicht verstanden was du überhaupt machen willst.
    signed oder unsigned... das ist hier die Frage

    Kommentar


    • #3
      Das Problem was ich habe ist das ich mit "explode" keine stop hin bekomme so das die schleife denn nächsten Block aus der Text-Datei durchleuft.

      mfg woysch

      PS: Das vereinfachen kommt dann später wenn es dann leuft.

      Kommentar


      • #4
        was soll explode denn bitte stoppen???

        explode macht genau das, was im manual steht. Was ist daran falsch?
        Übergibst du vielleicht den falschen String (kompletten inhalt statt zeile)?

        Ich versteh dein Problem aber auch nicht wirklich - glaube ich.

        Kommentar


        • #5
          intuitiv ohne wirklich Problem verstanden zu haben, würde ich so was machen

          PHP-Code:
          <?php
          error_reporting
          (E_ALL);
          $fp=fopen"karte.txt","r");
          $i=0;
          while(!
          feof($fp)){
          $zeile=fgets($fp);
          if(
          strpos($zeile,"Block")===0){
           if(
          $i!=0) echo "</table>\n";
           echo 
          "<div  align=\"center\">".trim($zeile)."<div>\n";
           echo 
          "<table cellspacing=\"1\" cellpadding=\"1\" border=\"0\" bgcolor=\"#ff0000\">\n"
           }
           elseif(
          strlen($zeile)>5){
           echo 
          "<tr>\n<td><img src=\"";
           echo 
          str_replace(" ","\" width=\"50\" height=\"32\" /></td>\n<td><img src=\"",trim($zeile)); 
           echo 
          "\" width=\"50\" height=\"32\" /></td>\n</tr>\n"
           }
           
          $i++;  
          }
          echo 
          "</table>";
          ?>
          Slava
          bituniverse.com

          Kommentar


          • #6
            Danke ist leider nicht die Lösung, aber jetzt habe ich denn ansatz wie ich es lösen muß.

            mfg woysch

            Kommentar


            • #7
              Danke ist leider nicht die Lösung, aber jetzt habe ich denn ansatz wie ich es lösen muß.

              Na damit ist ja jedem geholfen....

              Kommentar


              • #8
                Original geschrieben von woysch
                Danke ist leider nicht die Lösung, aber jetzt habe ich denn ansatz wie ich es lösen muß.

                mfg woysch
                Ich meine auch, das "Danke" keine Lösung ist.
                Eine Kiste Bier ist eine Lösung
                Slava
                bituniverse.com

                Kommentar


                • #9
                  OffTopic:
                  Dann haste was falsch gemacht. Ich hab letztens noch den Kasten Bier bekommen.

                  Kommentar


                  • #10
                    Slava
                    bituniverse.com

                    Kommentar

                    Lädt...
                    X