Automatisches includen?

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

  • Automatisches includen?

    Tach ich hab dieses scipt hier
    PHP-Code:
    <?php
    $dir   
    dir("module");
    while(
    $file $dir->read()) {
        if (
    is_file("module/{$file}") && $file == "default.php") {
            require_once(
    "module/{$file}");
        }
    }
    $dir->close();
    ?>
    das includet automatisch die default.php aus dem angegeben ordner
    das würde dann so aussehen
    module/default.php

    nun wollte ich wissen ob es auch möglich ist das der aus dem angebenden ordner nicht direkt die default.php zu includen
    sondern zuerst scannt welche und wie viel ordner im angebenden sind und erst dann aus allen die default.php includet das soll dann so aussehen

    module/news/default.php
    module/gb/default.php
    module/board/default.php

    geht das?

  • #2
    du mußt dir eine Funktion bauen, die dasselbe macht, wie dein Skript oben, aber wenn ein Verzeichnis ausgelesen wird, dann muss die Funktion mit diesem Verzeichnis als Startparameter aufgerufen werden (rekursiver Ablauf).
    Starten tust du dann das Skript mit dem Aufruf der Funktion mit Startverzeichnis als Parameter.

    Kommentar


    • #3
      Original geschrieben von BrainBug
      aber wenn ein Verzeichnis ausgelesen wird, dann muss die Funktion mit diesem Verzeichnis als Startparameter aufgerufen werden (rekursiver Ablauf).
      dabei nur darauf achten, die beiden verzeichnisse "." und ".." davon auszunehmen, sonst könnte das eine recht interessante rekursion werden ;-)
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        @BrainBug naja ich verstehe das nicht so ganz

        Kommentar


        • #5
          ungefähr so:
          PHP-Code:
          <?
          function autoInclude($sPath)
              {
              $handle=opendir($sPath);
              while ($file = readdir($handle))
                  {
                  $retVal[count($retVal)] = $file;
                  }
              closedir($handle);
              sort($retVal);
              reset($retVal);

              while (list($key, $val) = each($retVal))
                  {
                  if ($val != "." && $val != "..")
                      {
                      $path = $sPath."/".$val;
                      if (is_dir($path)) // is directory -> call function again
                          {
                          autoInclude($path);
                          }
                      else if ($val == "default.php") {
                          require_once($path);
                          }
                      }
                  }
              }

          autoInclude("/module");
          ?>
          P.S.: habs nicht ausprobiert, aber ich denke, es müßte funktionieren...

          Kommentar


          • #6
            es gibt doch schon genügend snippets dazu! einfach mal damit beschäfftigen.

            Kommentar

            Lädt...
            X