Alex: Ordnerstruktur

Hallo!

Ich habe jetzt mühsam einige Webseiten erstellt und
wollte euch mal fragen, ob ihr ein paar Tipps für
die Ordnung habt. Ich hatte zunächst vor, alle Seiten
(z.B. Fotoalbum) und Unterverzeichnisse (z.B. Galerie 1)
in einem (Haupt-)Ordner abzuspeichern. Lediglich Bilder
und Include Dateien, habe ich in einem eigenen Ornder
abgelegt.
Ich befürchte allerdings, dass das dann irgendwann
unübersichtlichwird, bei mehr als 30 Unter-/Seiten und
habe geplant eigene Ordner für Hauptseiten, Unterseiten
und Fotogalerien anzulegen.
Da ich gerade erst mit PHP anfange und später auch mit
MySQL arbeite, möchte ich mal wissen, ob das später
evtl. Probleme geben könnte; beim Zugriff auf einzelne
Dateien.
Die Arbeit mit den include()-Befehlen hat das bei mir
beispielsweise nicht vereinfacht.
Wäre dankbar, wenn ihr mir mal davon berichtet,
ob ihr viel mit Unterordnern arbeitet und welche Vor-
und Nachteile das hat.

Beste Grüße

Alex

  1. Hi,

    Wäre dankbar, wenn ihr mir mal davon berichtet,
    ob ihr viel mit Unterordnern arbeitet und welche Vor-
    und Nachteile das hat.

    Jeweils eigene Ordner für:

    Klassen
    Libraries/Funktionen
    statisches HTML
    Bilder/GIFs
    Fotos

    usw.

    Nachteile: keine
    Vorteile: man weiss auf dem ersten Blick, wo man suchen muss, falls man eine Datei benötigt

    Insgesammt aber Geschmacksache.

    1. Hi,

      danke für deine Antwort.

      Nachteile: keine
      Vorteile: man weiss auf dem ersten Blick, wo man suchen muss, falls man eine Datei benötigt

      Ich war mir nicht so sicher, bzgl. der Nachteile, weil ich
      für ein Zufallsbild mal die Unterordner (Galerien) wieder
      zusammen fassen musste, weil ich sonst immer nur auf eine
      Galerie zugreifen konnte.

      Insgesammt aber Geschmacksache.

      Hab es auch lieber sortiert bzw. unterteilt in mehreren
      Ordnern. Werde es dann auch so probieren.

      Gruß
      Alex

      1. Ich grüsse den Cosmos,

        Ich war mir nicht so sicher, bzgl. der Nachteile, weil ich
        für ein Zufallsbild mal die Unterordner (Galerien) wieder
        zusammen fassen musste, weil ich sonst immer nur auf eine
        Galerie zugreifen konnte.

        Wieso denn das? Es ist doch kein Problem, Zufallsbilder aus mehreren
        Ordner anzeigen zu lassen.

        Möge das "Self" mit euch sein

        --
        Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten
        1. Wieso denn das? Es ist doch kein Problem, Zufallsbilder aus mehreren
          Ordner anzeigen zu lassen.

          Für mich leider schon. Ich lass mir das Zufallsbild mithilfe
          dieses Scriptes anzeigen:

          <?
          // PHP- Script für das Zufallsbild
          $bilder = array();
          //Ordner öffnen
          $dir = opendir ("Bilder/Fotos/Web_klein");
          //Datei lesen ohne die Verzeichnisse darüber
          while ($bild = readdir ($dir)){
           if ($bild != "." && $bild != "..")
           array_push($bilder,$bild);
          }
          closedir($dir);
          $max = count($bilder)-1;
          $zufall = rand(0,$max);
          $bild = $bilder[$zufall];
          ?>

          und füge das hiermit ein:

          src="Bilder/Fotos/Web_klein/<?= $bild ?>">

          Leider habe ich keine Lösung, wie ich das mache,
          wenn der Ordner Web_klein unterteilt ist.
          Außerdem klappt das bei mir so auch nicht mit der
          Verknüpfung zur großen Webansicht (abgelegt in Web_groß).

          Wäre echt cool, wenn du mir mal helfen würdest,
          wie ich das auch mit Unterordnern hinkriege.

          Dann könnte ich es auch nochmal anpacken, die kleine
          Webansicht mit der großen zu verknüpfen.

          1. Hi,

            <?
            // PHP- Script für das Zufallsbild

            besser:

            <?php  
            // Script für das Zufallsbild
            

            wenn Du nicht irgendwann Probleme bekommen willst.

            $dir = opendir ("Bilder/Fotos/Web_klein");

            hier müßtest Du (in einer Schleife) ggfls. weitere Verzeichnisse einlesen und

            array_push($bilder,$bild);

            hier auch das Verzeichnis mit speichern.

            src="Bilder/Fotos/Web_klein/<?= $bild ?>">

            auch hier bsser korrekte Syntax und i.V. mit der obigen Änderung dann:
            <?php echo '<img src="',$bild,'" alt="" />';

            freundliche Grüße
            Ingo

            1. Hi,

              erstmal danke für deine Hilfe.

              besser:

              <?php

              // Script für das Zufallsbild

              
              > wenn Du nicht irgendwann Probleme bekommen willst.  
                
              Hab ich geändert.  
                
              
              > > $dir = opendir ("Bilder/Fotos/Web\_klein");  
              > hier müßtest Du (in einer Schleife) ggfls. weitere Verzeichnisse einlesen und  
              >   
              > >  array\_push($bilder,$bild);  
              > hier auch das Verzeichnis mit speichern.  
              >   
              > > src="Bilder/Fotos/Web\_klein/<?= $bild ?>">  
              > auch hier bsser korrekte Syntax und i.V. mit der obigen Änderung  
                
              Das mit der Schleife ist mir zu kompliziert. Benötige  
              außer für das Zufallsbild kein PHP. Die Verknüpfung  
              hab ich nun auch hingekriegt. Aber das mit den Unterverzeichnissen  
              krieg ich net gebacken.  
                
              Aber ich erwarte jetzt keine vorgekaute Lösung. Meine  
              Faulheit PHP zu erlernen/verstehen, muss ja irgendwie  
              bestraft werden ^.  
                
              Meine Ursprungsfrage wurde ja beantwortet. Deswegen Dank  
              an alle die sich Gedanken gemacht haben und mir geholfen  
              haben.  
                
              Besten Gruß  
              Alex
              
              1. Hi,

                $dir = opendir ("Bilder/Fotos/Web_klein");
                hier müßtest Du (in einer Schleife) ggfls. weitere Verzeichnisse einlesen und

                Das mit der Schleife ist mir zu kompliziert. Benötige
                außer für das Zufallsbild kein PHP. Die Verknüpfung
                hab ich nun auch hingekriegt. Aber das mit den Unterverzeichnissen
                krieg ich net gebacken.

                dann trage halt den Code nacheinander mit den gewünschten Verzeichnissen ein.

                freundliche Grüße
                Ingo

                1. Hallo nochmal,

                  hatte ja eigentlich schon net mehr auf eine Lösung
                  gehofft, aber Ingo hat wieder neue Hoffnung geweckt.

                  dann trage halt den Code nacheinander mit den gewünschten Verzeichnissen ein.

                  Das sähe dann hier wie aus?

                  <?php
                  //Script für das Zufallsbild
                  $bilder = array();
                  //Ordner öffnen
                  $dir = opendir ("Bilder/Fotos/Web_klein");
                  //Datei lesen ohne die Verzeichnisse darüber
                  while ($bild = readdir ($dir)){
                   if ($bild != "." && $bild != "..")
                   array_push($bilder,$bild);
                  }
                  closedir($dir);
                  $max = count($bilder)-1;
                  $zufall = rand(0,$max);
                  $bild = $bilder[$zufall];
                  ?>

                  Und beim einfügen?

                  <a href="Bilder/Fotos/Web_gross/<?= $bild ?>"><img width="160" src="Bilder/Fotos/Web_klein/<?= $bild ?>" alt="Hier sollte eigentlich ein Zufallsbild erscheinen." title="Klick zum vergr&ouml;&szlig;ern" border="0" />

                  Ich habe die Ordner wie folgt abgespeichert:

                  Bilder/Fotos/Web_klein/Galerie_001/001_001.jpg bis 001.###.jpg
                  Bilder/Fotos/Web_klein/Galerie_002/002_001.jpg bis 002.###.jpg

                  Bilder/Fotos/Web_groß/Galerie_001/001_001.jpg bis 001.###.jpg
                  usw.

                  Vlt. gibt mir ja doch einer (Ingo?) die Lösung ... Hope so.

                  MfG
                  Alex

                  1. Hi,

                    dann trage halt den Code nacheinander mit den gewünschten Verzeichnissen ein.

                    Das sähe dann hier wie aus?

                    Wenn Du wirlich keine Schleife willst:

                    <?php
                    //Script für das Zufallsbild
                    $bilder = array();
                    //Ordner öffnen
                    $dir = opendir ("Bilder/Fotos/Web_klein");
                    //Datei lesen ohne die Verzeichnisse darüber
                    while ($bild = readdir ($dir)){
                    if ($bild != "." && $bild != "..")

                    array_push("Bilder/Fotos/Web_klein".$bilder,$bild);

                    }
                    closedir($dir);

                    //Ordner öffnen
                    $dir = opendir ("Bilder/Fotos/weiteresVerzeichnis");
                    //Datei lesen ohne die Verzeichnisse darüber
                    while ($bild = readdir ($dir)){
                     if ($bild != "." && $bild != "..")
                     array_push("Bilder/Fotos/weiteresVerzeichnis".$bilder,$bild);
                    }
                    closedir($dir);

                    etc.

                    $max = count($bilder)-1;
                    $zufall = rand(0,$max);
                    $bild = $bilder[$zufall];
                    ?>

                    freundliche Grüße
                    Ingo

                    1. Hi!

                      Danke erstmal für den Lösungsvorschlag. Werde ich gleich
                      heute Abend mal ausprobieren.

                      Wenn Du wirlich keine Schleife willst:

                      Hab ich ja net gesagt. Ich weiß nur net, wie man
                      damit arbeitet.
                      Sofern dein obiger Vorschlag bei mir läuft, ist mir
                      ja erstmal geholfen, wobei bei so vielen Galerien,
                      wird das irgendwann vlt. unübersichtlich und vor allem
                      nervig einzugeben.

                      Gruß
                      Alex

    2. Hi,

      Jeweils eigene Ordner für:

      Klassen
      Libraries/Funktionen
      statisches HTML
      Bilder/GIFs
      Fotos

      usw.

      Nachteile: keine

      doch: Wenn Du eine Seite löscht, mußt Du u.U. lange nach den hierin eingebundenen Dateien suchen und dazu auch noch diverse Verzeichnisse durchforsten. Und wehe, wenn Du ein Bild im Bilder-Verzeichnis in verschiedenen Seiten nutzt. Dann müßtest Du zwangsläufig noch sämtliche Dateien, die HTML ausgeben, überprüfen.

      Außerdem finde ich sowas größtenteils unnüntz, da Dateien auch leicht nach ihrem Typ sortiert angezeigt werden können.

      Vorteile: man weiss auf dem ersten Blick, wo man suchen muss, falls man eine Datei benötigt

      nunja, wenn ich ein Bilderverzeichnis mit 1000 Bildern habe, fällt die Suche schon sehr schwer. Wenn ich aber eine Verzeichnisstruktur habe, die

      • die Struktur der Website wiederspiegelt,
      • "individuelle" Dateien einer Seite bzw. Rubrik (gleich welchen Typs) in einem Verzeichnis zusammenfasst,
      • global genutzte Dateien in Extra-Verzeichnissen oder im Root ablegt,
        dann wird die Suche wirklich einfach.

      freundliche Grüße
      Ingo

      1. Ich grüsse den Cosmos,

        doch: Wenn Du eine Seite löscht, mußt Du u.U. lange nach den hierin eingebundenen Dateien suchen

        Wieso denn? Dafür sind die ja in Ordnern sortiert, damit ich nicht lange suchen muss.

        und dazu auch noch diverse Verzeichnisse durchforsten.

        Hm .... Und wieso sollte ich das müssen?

        Und wehe, wenn Du ein Bild im Bilder-Verzeichnis in verschiedenen Seiten nutzt. Dann müßtest Du zwangsläufig noch sämtliche Dateien, die HTML ausgeben, überprüfen.

        Und wo ist der Unterschied, wenn alle Dateien in einem Ordner liegen? Wenn ich das Bild lösche ist es weg, egal, wo es vorher war.

        Außerdem finde ich sowas größtenteils unnüntz, da Dateien auch leicht nach ihrem Typ sortiert angezeigt werden können.

        Tja, mein CMS hat aktuell ca. 60 Dateien mit der Endung .php
        Wenn du die in einen Ordner packst, testen wir mal, wer eine bestimmte Datei schneller findet. Es werden nach fertigstellung auch ca. dreimal soviele Dateien sein.

        Ich halte eine Aufteilung in mehrere Ordner als einen logischen Teil des Konzeptes. Immerhin ist der Sinn, das sich evtl. auch ein anderer Entwickler in möglichst kurzer Zeit damit zurechtfindet.

        Möge das "Self" mit euch sein

        --
        Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten
        1. Hi,

          doch: Wenn Du eine Seite löscht, mußt Du u.U. lange nach den hierin eingebundenen Dateien suchen

          Wieso denn? Dafür sind die ja in Ordnern sortiert, damit ich nicht lange suchen muss.

          definiere "sortiert". Nach Dateitypen? Das hilft Dir reichlich wenig. Woher willst Du wissen, welche Bilder in Deinem Bilder-Verzeichnis zu der betreffenden Seite gehören?

          und dazu auch noch diverse Verzeichnisse durchforsten.

          Hm .... Und wieso sollte ich das müssen?

          Wenn Du Dateien verschiedenen Typs in der zu löschenden Seite eingebunden hast.

          Und wehe, wenn Du ein Bild im Bilder-Verzeichnis in verschiedenen Seiten nutzt. Dann müßtest Du zwangsläufig noch sämtliche Dateien, die HTML ausgeben, überprüfen.

          Und wo ist der Unterschied, wenn alle Dateien in einem Ordner liegen? Wenn ich das Bild lösche ist es weg, egal, wo es vorher war.

          Der Unterschied ist folgender:

          Dein (angenommenes) System:
          /bilder/[alle Bilder aller Seiten]
          -> Hier kannst Du nicht einfach ein Bild löschen, wenn du nicht weisst, ob es noch in anderen Seiten gebraucht wird.

          Mein System:
          /seite-oder-seitenrubrik/[alle hierzu gehörenden individuellen Dateien]
          /allgemein-genutzte-dateien
          -> Hier kann ich entweder das komplette Seitenverzeichnis löschen oder finde zumindest die zu löschenden Dateien problemloser.

          Tja, mein CMS hat aktuell ca. 60 Dateien mit der Endung .php
          Wenn du die in einen Ordner packst, testen wir mal, wer eine bestimmte Datei schneller findet. Es werden nach fertigstellung auch ca. dreimal soviele Dateien sein.

          Ich halte eine Aufteilung in mehrere Ordner als einen logischen Teil des Konzeptes.

          Ich auch - aber sinnvoll und mit Weitblick.

          freundliche Grüße
          Ingo

          1. Ich grüsse den Cosmos,

            Dein (angenommenes) System:
            /bilder/[alle Bilder aller Seiten]
            -> Hier kannst Du nicht einfach ein Bild löschen, wenn du nicht weisst, ob es noch in anderen Seiten gebraucht wird.

            Stimmt, da hast du Recht. Da bei meinem Konzept das nicht vorkommt, hatte ich dieses Problem nicht beachtet, da bei mir nicht vorhanden ;)

            Mein System:
            /seite-oder-seitenrubrik/[alle hierzu gehörenden individuellen Dateien]

            Ist natürlich auch sinnvoll, wenn die Site in mehrere Bereiche aufgeteilt ist.

            /allgemein-genutzte-dateien
            -> Hier kann ich entweder das komplette Seitenverzeichnis löschen oder finde zumindest die zu löschenden Dateien problemloser.

            Auch richtig. Aber auch diese Dateien würde ich weiter unterteilen, sie mein erstes Posting, je nach Funktion

            Ich auch - aber sinnvoll und mit Weitblick.

            Und vorallem Projektbezogen. Patentrezept gibts dafür keins.

            Ich seh grad, mir meinten das Gleiche, ich hab mich nur nicht richtig ausgedrückt ;)

            Möge das "Self" mit euch sein

            --
            Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten
            1. Hi,

              /allgemein-genutzte-dateien
              -> Hier kann ich entweder das komplette Seitenverzeichnis löschen oder finde zumindest die zu löschenden Dateien problemloser.

              Auch richtig. Aber auch diese Dateien würde ich weiter unterteilen, sie mein erstes Posting, je nach Funktion

              in was unterteilen? Hast Du wirklich für eine bestimmte Seite oder Rubrik soviele Dateien einer bestimmten Funktion gleichen Typs?

              freundliche Grüße
              Ingo

              1. Ich grüsse den Cosmos,

                in was unterteilen? Hast Du wirklich für eine bestimmte Seite oder Rubrik soviele Dateien einer bestimmten Funktion gleichen Typs?

                Wie gesagt, ich unterteile grundsätzlich in Klassen, Libs, Statisch usw. Natürlich nur, wenn ich mehr als eine Handvoll Dateien hab.

                Möge das "Self" mit euch sein

                --
                Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten
                1. Super. So hab ich mir das vorgestellt. Unterschiedliche
                  Systeme und ihr versucht euch gegenseitig von dem
                  "besseren" zu überzeugen.
                  So kann ich gut die Vor- und Nachteile abwägen;
                  denn wen man erstmal ein System hat, ist es net
                  so einfach, dass wieder abzuändern.

                  Aber am Ende ist es wohl nur wichtig, dass sich jeder in seinem
                  (falls vorhandenen) System zurecht findet.
                  Die Optimallösung werden wir wohl net mehr finden ^^.