Gleichnamige ARRAYs aus Unterodnern auslesen

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

  • Gleichnamige ARRAYs aus Unterodnern auslesen

    Hallöchen liebe Helfer,
    ich muss aus mehren Saison-Ordnern Ergebnis-Array,s auslesen und diese dann alle in einem gesamt Array ablegen.

    Zunächst die Saison-Strucktur, die in einem ARRAY abgelegt ist:
    PHP-Code:
    $saison_array
    Array (
         [
    0] => 2013-01
         
    [1] => 2013-02-03
         
    [2] => 2013-04
         
    [3] => 2013-05-06
         
    [4] => 2013-08
         
    [5] => 2013-09-10
         
    [6] => 2013-11
         
    [7] => 2014-01 
    In jedem dieser Ordner existiert je ein Unterordner: zb /liga/

    In dem Odrner Liga existieren Ergebniss-Dateien, die folgendermaßen vorliegen:
    'liga1'_ergebnisse.php
    'liga2'_ergebnisse.php
    'liga3'_ergebnisse.php
    'liga4'_ergebnisse.php
    u.s.w.

    Achtung: Es können mehr bz weniger XXX_ergebnisse.php vorliegen.
    Aber der Dateiname beginnt immer mit 'liga1'_ aufsteigend.

    In diesen Dateien sind die Ergebnisse im ARRAY: $ergebnisse, abgelegt.
    Das bedeutet ich habe im obigen Beispiel 4 gleichnamige ARRAY,s im Ordner liga, in der jeweiligen Saison.

    Mein Versuch:
    PHP-Code:
    $i=1;
    foreach (
    $saison_array as $key=>$value) {

    $newar[$value]['liga']['ergebnisse'.$i][$i] = File_Get_Array($value."/liga/'liga".$i."'_ergebnisse.php");

    $i++;
    }
    function 
    File_Get_Array($FileName) {
            include 
    $FileName;
            return 
    $ergebnisse;

    ... bekomme ich nur den Inhalt des $ergebnisse ARRAYs der 'liga1'_ergebnisse.php aus dem ersten Saison-Ordner, obwohl mehrere in dem Ordner sind und alle folgenden Ordner sind leer, obwohl auch dort Ergebniss-Dateien drin sind.

    Ist das, was ich vorhabe überhaupt realisierbar?

    Danke für Eure Anteilnahme und Hilfe

  • #2
    Worked as designed. Laut deinem Code soll er sich die folgenden Dateien ziehen:
    Code:
    2013-01/liga/'liga1'_ergebnisse.php
    2013-02-03/liga/'liga2'_ergebnisse.php
    2013-04/liga/'liga3'_ergebnisse.php
    2013-05-06/liga/'liga4'_ergebnisse.php
    2013-08/liga/'liga5'_ergebnisse.php
    2013-09-10/liga/'liga6'_ergebnisse.php
    2013-11/liga/'liga7'_ergebnisse.php
    2014-01/liga/'liga8'_ergebnisse.php
    Mein Tipp: Nimm jeden Ordner, lies dort alle vorhandenen Dateien aus und zieh dir deren Inhalte.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hallo Peter und Danke für Dein Interesse.

      Ja es stimmt wie du es schriebst: So bekmme ich das auch raus.

      Edit:
      Neuer Ansatz

      Ich habe nun eine Funktion eingebaut, die mir die SAISON/liga/ korreckt ausliest:

      PHP-Code:
      function listErgebnisse($dir,$type) {
          
      $x 0;
          foreach (
      glob($dir."'liga[0-9]'_ergebnisse.".$type) as $filename){
       
              
      $ergebnisse[$x]['file'] = $filename;
              
      $x++;
          } 
          
          return 
      $ergebnisse;
      }
      foreach (
      $verzeichnis_array as $key=>$value) {
      // Funktion: listErgebnisse anwenden. $value=Saisons
      $new_array[$value] = listErgebnisse($value."/liga/","php");
          

      Daraus ergibt sich in $new_array
      PHP-Code:
      $new_array
      Array
      (
          [
      2013-01] => Array
              (
                  [
      0] => Array
                      (
                          [
      file] => 2013-01/liga/'liga1'_ergebnisse.php
                      
      )

                  [
      1] => Array
                      (
                          [
      file] => 2013-01/liga/'liga2'_ergebnisse.php
                      
      )

                  [
      2] => Array
                      (
                          [
      file] => 2013-01/liga/'liga3'_ergebnisse.php
                      
      )

                  [
      3] => Array
                      (
                          [
      file] => 2013-01/liga/'liga4'_ergebnisse.php
                      
      )

                  [
      4] => Array
                      (
                          [
      file] => 2013-01/liga/'liga5'_ergebnisse.php
                      
      )

              )

           [
      2013-05-06] => Array
              (
                  [
      0] => Array
                      (
                          [
      file] => 2013-05-06/liga/'liga1'_ergebnisse.php
                      
      )

                  [
      1] => Array
                      (
                          [
      file] => 2013-05-06/liga/'liga2'_ergebnisse.php
                      
      )

                  [
      2] => Array
                      (
                          [
      file] => 2013-05-06/liga/'liga3'_ergebnisse.php
                      
      )

                  [
      3] => Array
                      (
                          [
      file] => 2013-05-06/liga/'liga4'_ergebnisse.php
                      
      )

              )

          [
      2013-09-10] => Array
              (
                  [
      0] => Array
                      (
                          [
      file] => 2013-09-10/liga/'liga1'_ergebnisse.php
                      
      )

                  [
      1] => Array
                      (
                          [
      file] => 2013-09-10/liga/'liga2'_ergebnisse.php
                      
      )

                  [
      2] => Array
                      (
                          [
      file] => 2013-09-10/liga/'liga3'_ergebnisse.php
                      
      )
                  [
      3] => Array
                      (
                          [
      file] => 2013-09-10/liga/'liga4'_ergebnisse.php
                      
      )
                  [
      4] => Array
                      (
                          [
      file] => 2013-09-10/liga/'liga5'_ergebnisse.php
                      
      )
              )

      Soweit so gut :-)

      Nur schaffe ich es jetzt nicht mit der Funktion:
      PHP-Code:
      function File_Get_Array($FileName) {
              include 
      $FileName;
              return 
      $ergebnisse;
          } 
      An die ARRAY,s in den Dateien ranzukommen.

      Jemand eine Idee oder Schubs für mich?
      Zuletzt geändert von Wasser_Wanderer; 10.01.2014, 01:36. Grund: Neuer Lösungsansatz

      Kommentar


      • #4
        Thema: Erledigt.

        Da es ja reicht das, ich nicht schlafen kann, möchte ich mitteilen das es vollbracht ist mit folgendem Coding:

        PHP-Code:
        function listErgebnisse($dir,$type) {
            
        $x 0;
            foreach (
        glob($dir."'liga[0-9]'_ergebnisse.".$type) as $filename){
                
        $ergebnisse[$x] = $filename;
                
        $ergebnisse[$x] = (explode('/',$filename));
                
        $ergebnisse[$x] = ($ergebnisse[$x][2]);

                
        $x++;
            } 
            
            return 
        $ergebnisse;
        }

        function 
        File_Get_Array($FileName) {
                include 
        $FileName;
                return 
        $ergebnisse;
            }

        // Das selbe Verzeichnis
        $ordner __DIR__ 
        // scandir legt ein ARRAY an
        $verzeichnis scandir($ordner);
        // ARRAY durchlaufen
        foreach ($verzeichnis as $entry) {
            
        // Wenn im ARRAY . oder .. vorkommt: Dann weiter (continue)
            
        if ($entry === '.' || $entry === '..' ) {
                
                continue;
            }
            
        // Wenn im ARRAY ein Verzeichnis ist (is_dir) und mit 20 anfängt
            
        if (is_dir($ordner '/' $entry)&& 20==substr($entry,0,2)) {
                
        // Fülle ein neues ARRAY
                
        $saisons_array[] = $entry;
            }
        }
        // sortieren, falls die Verzeichnisse ungeordnet sind
        sort($saisons_array);

        foreach (
        $saisons_array as $key=>$value) {
        // Funktion: listErgebnisse anwenden
        $new_array[$value] = listErgebnisse($value."/liga/","php");
        }

        foreach (
        $new_array as $key=>$value
        {
        foreach (
        $value as $key1=>$value1
          {
        $last_array[$key][] = File_Get_Array($key.'/liga/'.$value1);
          }

        Gruss und gute Nacht für mich

        WW

        Kommentar

        Lädt...
        X