Ankündigung

Einklappen
Keine Ankündigung bisher.

Kleine Frage zur "file" und "fopen" Funktion.

Einklappen

Neue Werbung 2019

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

  • Kleine Frage zur "file" und "fopen" Funktion.

    Hallo an alle

    Ich bin relativ unerfahren in PHP: rolleyes:
    ...ich hoffe dass jemand mir helfen kann.

    Mein PHP-Code-Schnipsel:
    PHP-Code:
     ...
    $dataarray file("spieler/stats/league1.stat");
    ...
    $handle0 fopen("spieler/stats/league1.stat""r");
    ... 
    Derzeit wird nur league1.stat geladen!
    Ich möchte den Code erweitern so dass mehrere Dateien geladen werden.
    league2.stat, league3.stat, league4.stat etc. sollten zusätzlich geladen werden.

    Wie erweitere ich die "file" und "fopen" Funktion, so dass mehr Daten gleichzeitig geladen werden?

    greetz BVB09

  • #2
    Na du rufst die Funktion einfach mehrfach auf. An sich erweitern kannst du die Funktionen fopen() oder file() nicht.

    Kommentar


    • #3
      Vielen dank für die schnelle antwort !

      Ich habe schon versucht die "fopen" und "file" Funktion mehrfach aufzurufen, hat auch funktioniert. Nur wurden dann nicht alle ausgegeben, genauer gesagt immer nur eine.

      Hier mal der ganze Code:
      PHP-Code:
      <?php

      $dataarray 
      file("spieler/stats/league1.stat"); // anpassen
      $anzahlarray count($dataarray);

      $handle0 fopen("spieler/stats/league1.stat""r"); // gleicher Link wie oben

      for ($i 1$i $anzahlarray$i++) {
      $zeilearray explode("§"$dataarray[$i]);
      $name[$i] = $zeilearray[0];
      $GT[$i] = $zeilearray[1];
      $P[$i] = $zeilearray[2];

      }
      fclose($handle0);

      array_multisort($PSORT_NUMERICSORT_DESC$GT$name );

      $anzahlarray2 10;
      for(
      $i 0$i $anzahlarray2$i++) {
      if (
      $GT[$i] != $GT[$i-1]) {
      $j $i +1;
      $platz $i +1;
      } else {
      $platz "";
      }

      echo 
      " <tr>";
      echo 
      "<td width='14' height='18' align='right'>$platz</td>";
      echo 
      "<td width='24' align='center'><img src='img/teams/small/".rawurlencode($GT[$i]).".gif'></td>";
      echo 
      "<td width='16' align='center'><img src='img/spieler/".rawurlencode($name[$i]).".jpg' height='16' ></td>";
      echo 
      "<td width='100' align='left'>&nbsp;$name[$i]</td>";
      echo 
      "<td width='20' align='right'><b>$P[$i]</b></td>";
      echo 
      "</tr>";
      }

      ?>
      Dazu vielleicht noch ein paar Infos.
      Das ist eine Torschützen Statistik Seite, die Daten werden von der "league1.stat" ausgelesen und dann ausgegeben. Nun möchte ich das weitere .stats Dateien ausgelesen und angezeigt werden.

      Wenn noch mehr informationen benötigt werden, einfach bescheid geben.

      Wäre echt nice wenn mir da helfen könntest

      MfG BVB__09

      Kommentar


      • #4
        was steht denn in deiner .stats datei drin?
        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

        Kommentar


        • #5
          Zitat von BlackScorp Beitrag anzeigen
          was steht denn in deiner .stats datei drin?
          Statistiken von Torschützen, Gelbe/Rote Karten usw.

          Kommentar


          • #6
            nein ich meinte was steht da in text form drin. ist da eine bestimmte aufteilung der daten? zb

            PHP-Code:
            //Name ## Gesamt tore ## gehalten

            Max Mustermann ## 10 ## 2
            Irgend Jemand ## 20 ## 3 
            irgendwie sowas?
            apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

            Kommentar


            • #7
              LIEST du denn auch von $handle0 ? Ich seh da nämlich nix...

              fopen
              fread/fwrite
              fclose
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #8
                Zitat von BlackScorp Beitrag anzeigen
                nein ich meinte was steht da in text form drin. ist da eine bestimmte aufteilung der daten? zb

                PHP-Code:
                //Name ## Gesamt tore ## gehalten

                Max Mustermann ## 10 ## 2
                Irgend Jemand ## 20 ## 3 
                irgendwie sowas?
                Jo genau so ist es

                Da steht drin:
                Code:
                Name§Verein§Tore§Gelbe Karten§Gelb-Rote Karten§Rote Karten
                M. Zidan§Borussia Dortmund§17§0§0§0
                N. Valdez§Borussia Dortmund§4§2§0§0
                N. Sahin§Borussia Dortmund§1§0§0§0
                N. Subotic§Borussia Dortmund§0§0§0§1
                ...

                Kommentar


                • #9
                  hier , hoffe es ist so wie du es haben wolltest:

                  ich habe an jede zeile noch § drangehängt und mit folgenden code kriege ich 2 tabellen:

                  tore.stats
                  Code:
                  Name§Verein§Tore§Gelbe Karten§Gelb-Rote Karten§Rote Karten§
                  M. Zidan§Borussia Dortmund§17§0§0§0§
                  N. Valdez§Borussia Dortmund§4§2§0§0§
                  N. Sahin§Borussia Dortmund§1§0§0§0§
                  N. Subotic§Borussia Dortmund§0§0§0§1§
                  index.php
                  PHP-Code:
                  <?php
                  $datenArray 
                  '';
                  $dir 'stats/';
                  $handle opendir($dir);
                  while ((
                  $file readdir($handle))) {
                      if (
                  $file != "." && $file != "..") {
                          
                  $datenArray explode('§',file_get_contents($dir.$file));

                          
                  $htmlCode 'Datei :'.$dir.$file.'<br/><table width="100%" border="1">';
                          for(
                  $j 0;$j count($datenArray)-1;$j++) {
                              
                  $htmlCode .= '<tr>';
                              if(
                  $j 5) {
                                  
                  $htmlCode .= '<td>'.$datenArray[$j].'</td>';
                                  
                  $j++;
                                  
                  $htmlCode .= '<td>'.$datenArray[$j].'</td>';
                                  
                  $j++;
                                  
                  $htmlCode .= '<td>'.$datenArray[$j].'</td>';
                                  
                  $j++;
                                  
                  $htmlCode .= '<td>'.$datenArray[$j].'</td>';
                                  
                  $j++;
                                  
                  $htmlCode .= '<td>'.$datenArray[$j].'</td>';
                                  
                  $j++;
                                  
                  $htmlCode .= '<td>'.$datenArray[$j].'</td>';
                              }else {
                                  
                  $htmlCode .= '<th>'.$datenArray[$j].'</th>';
                                  
                  $j++;
                                  
                  $htmlCode .= '<th>'.$datenArray[$j].'</th>';
                                  
                  $j++;
                                  
                  $htmlCode .= '<th>'.$datenArray[$j].'</th>';
                                  
                  $j++;
                                  
                  $htmlCode .= '<th>'.$datenArray[$j].'</th>';
                                  
                  $j++;
                                  
                  $htmlCode .= '<th>'.$datenArray[$j].'</th>';
                                  
                  $j++;
                                  
                  $htmlCode .= '<th>'.$datenArray[$j].'</th>';
                              }
                              
                  $htmlCode .= '</tr>';
                          }
                          
                  $htmlCode .= '</table><br/>';
                          echo 
                  $htmlCode;
                      }
                  }
                  closedir($handle);

                  ?>
                  MFG
                  apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                  Kommentar


                  • #10
                    Zitat von lstegelitz Beitrag anzeigen
                    LIEST du denn auch von $handle0 ? Ich seh da nämlich nix...

                    fopen
                    fread/fwrite
                    fclose
                    Das heisst $handle0 = fopen... ist im grunde überflüssig ?
                    ...da die .stats ja bereits mit "file" aufgerufen wird.

                    Wie müsste ich dann weiter vorgehen damit merere .stats Dateien aufgerufenb werden und dann auch alle ausgelesen und angezeigt werden ?

                    Weil wenn ich folgendes mache:
                    PHP-Code:
                    $dataarray file("spieler/stats/league1.stat"); // anpassen
                    $dataarray file("spieler/stats/league2.stat"); // anpassen
                    $dataarray file("spieler/stats/league3.stat"); // anpassen
                    $dataarray file("spieler/stats/league4.stat"); // anpassen 
                    Dann wird immer nur die letzte Aktion ausgeführt, die drei zuvor werden dann nicht ausgegeben.

                    Kommentar


                    • #11
                      Du musst auch für jeden array nen anderen namen nehmen. Nicht immer $dataarray.

                      z.B:

                      PHP-Code:
                      $dataarray1 file("spieler/stats/league1.stat"); // anpassen
                      $dataarray2 file("spieler/stats/league2.stat"); // anpassen
                      $dataarray3 file("spieler/stats/league3.stat"); // anpassen
                      $dataarray4 file("spieler/stats/league4.stat"); // anpassen 


                      Kommentar


                      • #12
                        BVB haste mein Code gesehen?

                        wie ich das hasse. schon den 3en heute geholfen und kein feedback zurückbekommen ob mein vorschlag nun funktioniert oder nicht. die logen sich einfach aus
                        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                        Kommentar


                        • #13
                          @BlackScorp
                          hehe, sry musste grade kurz weg (Sohn in Kindergarten bringen)
                          Ich bin nicht so einer, ich schätze deine "eure" Hilfe und werde mich auch bedanken bevor ich gehe

                          Also schon mal vielen dank für deine Mühe wo du dir gemacht hast !
                          Aber leider ist das nicht wirklich was ich mir erhoft habe.

                          Ich kann die .stats Datei nicht verändern, die wird von einem Script (lmo) generiert.

                          Nochmals als Info.
                          Ich möchte gerne das alle Torschützen von allen Ligen in einer Tabelle aufgelistet werden.

                          Momentan wird aber nur eine Liga angezeigt, das sieht dann so aus:
                          link entfernt
                          Diese Torschützen sind von der league1.stats, nun möchte ich das league2.stats, league3.stats, league4.stats auch dort in der selben Tabelle aufgelistet werden.


                          @BattleMaster246
                          Danke, das habe ich auch eben versucht.
                          Nur leider passierte dann nix weiter.
                          Da muss dann folgend noch was geändert werden damit die dann auch angezeigt werden, check aber nicht wie ich das machen muss.

                          Siehe Code, Zeile 4 und Zeile 7
                          PHP-Code:
                          <?php

                          $dataarray 
                          file("spieler/stats/league1.stat"); // anpassen
                          $anzahlarray count($dataarray);

                          for (
                          $i 1$i $anzahlarray$i++) {
                          $zeilearray explode("§"$dataarray[$i]);
                          Bitte um weitere Hilfe, sofern noch wer bock hat

                          Kommentar


                          • #14
                            Alle Dateien laden und die Array mergen:

                            PHP-Code:
                            $stats1 file('league1.stats');
                            $stats2 file('league2.stats');
                            ...

                            $stats  array_merge($stats1$stats2, ...); 
                            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                            Kommentar


                            • #15
                              league1.stat (davon 2 mal)
                              Code:
                              M. Zidan§Borussia Dortmund§17§0§0§0
                              N. Valdez§Borussia Dortmund§4§2§0§0
                              N. Sahin§Borussia Dortmund§1§0§0§0
                              N. Subotic§Borussia Dortmund§0§0§0§1
                              PHP-Code:
                              <html>
                              <head>
                              <link href="http://www.ps3fifaliga.dflexx.ch/_stylesheet.css" rel="stylesheet" type="text/css">
                              <body bgcolor="#000000" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">

                              <table cellspacing="0" cellpadding="0" width="174" border="0">



                              <?php
                              $dir 
                              'stats/';
                              $handle opendir($dir);
                              while ((
                              $file readdir($handle))) {
                                  if (
                              $file != "." && $file != "..") {
                                      
                              $dataarray file($dir.$file);
                                      
                              $anzahlarray count($dataarray);

                                  

                                      for (
                              $i 1$i $anzahlarray$i++) {
                                          
                              $zeilearray explode("§"$dataarray[$i]);
                                          
                              $name[$i] = $zeilearray[0];
                                          
                              $GT[$i] = $zeilearray[1];
                                          
                              $P[$i] = $zeilearray[2];

                                      }
                                      

                                      
                              array_multisort($PSORT_NUMERICSORT_DESC$GT$name );

                                      
                              $anzahlarray2 4;
                                      for(
                              $i 0$i $anzahlarray2$i++) {
                                          if (
                              $GT[$i] != $GT[$i-1]) {
                                              
                              $j $i +1;
                                              
                              $platz $i +1;
                                          } else {
                                              
                              $platz "";
                                          }

                                          echo 
                              " <tr>";
                                          echo 
                              "<td width='14' height='18' align='right'>$platz</td>\n";
                                          echo 
                              "<td width='24' align='center'><img src='http://www.ps3fifaliga.dflexx.ch/lmo/img/teams/small/".rawurlencode($GT[$i]).".gif'></td>\n";
                                          echo 
                              "<td width='16' align='center'><img src='http://www.ps3fifaliga.dflexx.ch/lmo/img/spieler/".rawurlencode($name[$i]).".jpg' height='16' ></td>\n";
                                          echo 
                              "<td width='100' align='left'>&nbsp;$name[$i]</td>\n";
                                          echo 
                              "<td width='20' align='right'><b>$P[$i]</b></td>\n";
                                          echo 
                              "</tr>";
                                      }
                                  }
                              }
                              closedir($handle);
                              ?>
                              </table>
                              </body>
                              </html>
                              Ausgabe:


                              wolltest du es so haben?
                              apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                              Kommentar

                              Lädt...
                              X