Ankündigung

Einklappen
Keine Ankündigung bisher.

Array automatisch füllen?

Einklappen

Neue Werbung 2019

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

  • Array automatisch füllen?

    Hallo,

    ich möchte wissen ob und wenn ja wie man einen Array automatisch füllen kann. Hab schon ein paar Sachen darüber gelesen, aber irgendwie ist das alles nicht so richtig das was ich suche. Im Grunde soll eine For-Each Schleife für jedes Objekt in dem gewähltem Verzeichnis abfragen ob es eine ".html" || ".php"-Datei ist, wenn ja sollen diese in den Array gefüllt werden. Automatisch deshalb, weil es mit der Zeit es viele Dateien geworden sind und jede einzelne im Switch-Case abzufragen ist echt unübersichtlich und auch keine schöne Lösung. Ist für ein Front-Controller und joa, mehr muss ich glaube ich nicht sagen ^^

    MfG
    Denis Jurkovsek

  • #2
    Nimm doch glob(), das unterstützt Wildcards. Oder in deiner Schleife halt mit IF und pathinfo() bzw. strpos() und substr() mit in_array() abfragen.
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      https://php-de.github.io/jumpto/verzeichnis-auslesen/
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Danke euch beiden, Thema ist geklärt!

        Kommentar


        • #5
          Wenn die GLOB_BRACE - Funktionalität verfügbar ist, kannst du mit Wildcards über mehrere Verzeichnisse alle .html und .php Dateien mit einen einzigen glob() Aufruf bekommen.

          Kommentar


          • #6
            Der Frontcontroller liesst doch nur die dateien, welche er braucht, und läd nicht bei jeden page load alle möglich verfügbaren in ein array....


            Im Grunde soll eine For-Each Schleife für jedes Objekt in dem gewähltem Verzeichnis abfragen ob es eine ".html" || ".php"-Datei ist, wenn ja sollen diese in den Array gefüllt werden. Automatisch deshalb, weil es mit der Zeit es viele Dateien geworden sind und jede einzelne im Switch-Case abzufragen ist echt unübersichtlich und auch keine schöne Lösung.
            wieso mischt du html und php in einem verzeichniss ?
            wieso switch case gibt ja nur html und php ?

            etc ..

            Kommentar


            • #7
              Zitat von Denis Jurkovsek Beitrag anzeigen
              Hallo,

              ich möchte wissen ob und wenn ja wie man einen Array automatisch füllen kann. Hab schon ein paar Sachen darüber gelesen, aber irgendwie ist das alles nicht so richtig das was ich suche. Im Grunde soll eine For-Each Schleife für jedes Objekt in dem gewähltem Verzeichnis abfragen ob es eine ".html" || ".php"-Datei ist, wenn ja sollen diese in den Array gefüllt werden. Automatisch deshalb, weil es mit der Zeit es viele Dateien geworden sind und jede einzelne im Switch-Case abzufragen ist echt unübersichtlich und auch keine schöne Lösung. Ist für ein Front-Controller und joa, mehr muss ich glaube ich nicht sagen ^^

              MfG
              Denis Jurkovsek
              Ich kenne zwar den Code nicht, aber ich denke mal der Fehler ist nicht die Sammlung von PHP-Dateien, sondern das Fehlen eines Classloders und die fehlende Nutzung von Namesaces.
              bitcoin.de <- Meine Freelancerwährung

              Kommentar


              • #8
                PHP-Code:
                $dir __DIR__;
                $files scandir($dir);

                foreach (
                $files as $file) {
                   switch (
                $requested_page) {
                      case 
                $file:
                         include(
                __DIR__ "/" $file);
                         break;
                   }

                Hier die Lösung für jeden den es interessiert

                Kommentar


                • #9
                  Wozu $dir? Wo ist die Abfrage nach Dateiendung? Warum include? Du hast einfach die Anforderungen geändert.
                  [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

                  Kommentar


                  • #10
                    Denis Jurkovsek : Ein include wird nur ausgeführt wenn $requested_page im Verzeichnis gefunden wird. Mit file_exists() kannst du abfragen ob eine Datei existiert. Damit wird deine "Lösung" dann zum Einzeiler.
                    Und ich muss chorn zustimmen, deine "Lösung" ist weit weg von deiner Frage.

                    Kommentar

                    Lädt...
                    X