Ankündigung

Einklappen
Keine Ankündigung bisher.

Ordnerstruktur mittels php anzeigen

Einklappen

Neue Werbung 2019

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

  • Ordnerstruktur mittels php anzeigen

    Guten Tag zusammen,

    ich habe ein Problem:

    Und zwar würde ich gern eine bestimmte Ordnerstruktur des Servers auf einer HP anzeigen. Und zwar wie in Windows mit einem aufklapparen Baum. Und am Ende sollen die Dateien angezeigt werden.

    So sollte es ca aussehen: Unbenannt.jpg

    Folgenden Code habe ich geschrieben:

    Code:
    <?php
    //Verzeichnis wird geöffnet
    $verz = opendir("Anordnung_PDFs");
    $linkl = array();
    
    //Verzeichnisse werden in das Array gespeichert
    while ($file = readdir($verz))
    {
    	if ($file != "." && $file != ".." && $file != $_SERVER['PHP_SELF'])
    	{
    		array_push ($linkl, $file);
    	}
    }
    
    
    //Das Array wird sortiert
    sort($linkl);
    ?>
    
    <ul style="list-style-image:url(foldericon.png)">
    
    <?php
    //Ausgabe des arrays
    foreach($linkl as $filename){
    echo "<li><a href=\"Anordnung_PDFs/$filename\">$filename</a></li>\n";
    }
    ?>
    
    </ul>
    
    <?php
    
    //Verzeichnis schließen
    closedir($verz);
    ?>
    Kann mir bitte jemand weiterhelfen?


  • #2
    Was ist deine Frage (bzw. dein konkretes Problem)? Wo hakt es?

    Muss es unbedingt selbst gemacht sein? Ich bin mir sicher das es sowas "frei" im Web gibt.
    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


    • #3
      die Frage ist, wie ich den Code erweitern muss, damit ich das hinbekomme.

      Kommentar


      • #4
        Ich habe hier drei Bretter und drei Ziegel. Was muss ich machen das ich daraus ein fertiges Haus bekomme?

        Verstehst du was ich meine? Es gibt hier Hilfe zur Selbsthilfe bei konkreten Problemen du suchst jedoch jemanden der deine Arbeit fertig macht, das gibt es hier nicht.

        Moment doch.. es gibt hier die Scriptbörse, da kannst ja ml versuchen zu posten. http://www.php.de/scriptboerse/

        Ansonsten

        Muss es unbedingt selbst gemacht sein? Ich bin mir sicher das es sowas "frei" im Web gibt.
        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


        • #5
          Zitat von hausl Beitrag anzeigen
          Was ist deine Frage (bzw. dein konkretes Problem)? Wo hakt es?
          Nochmal: Beschreibe bitte dein Problem.

          Edit: Zu langsam...

          Kommentar


          • #6
            Ich weiß was du meinst. Ein Tipp oder ein kleiner Schnipsel würde mich vielleicht schon weiter bringen.

            Nein es muss nicht unbedingt was selbst geschriebenes sein.

            Folgendes habe ich schon gefunden, aber bekomme es nicht eingebunden
            http://www.easyjstree.com/Demos
            http://www.evoluted.net/stuff/

            Kommentar


            • #7
              Zitat von schlitzdich Beitrag anzeigen
              Ich weiß was du meinst. Ein Tipp oder ein kleiner Schnipsel würde mich vielleicht schon weiter bringen.
              Alles was wir bisher erfahren haben ist, dass du einen Quellcode hast und Hilfe willst. Was dein Problem ist wissen wir allerdings immer noch nicht.
              Zitat von nikosch
              Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

              Kommentar


              • #8
                Die erste Ebene sieht schonmal gut aus und wenn ich dann auf einen Ordner klicke wird der Standardkram angezeigt.

                Im Screenshot sieht man als erstes die erste Ebene und darunter dann die Ansicht, wenn ich einen Ordner auswähle

                Unbenannt1.jpg

                Hätte als erstes gern, das er nicht auf die Standardansicht wechselt.

                Kommentar


                • #9
                  Weil du den Ordner auswählst (verlinkst). Du musst dein Script so bauen, das es bei der Ausführung stats in der Script-Datei selbst bleibt und die nötigen Ordnerinfos durch die du navigiert als Parameter (via Link zB GET) übergeben werden und das Script dann darauf reagieren kann und zB die entsprechenden Unterordner auflisten kann. Hoff das ist verständlich, kann es auf die Schnelle nicht besser ausdrücken.

                  Schau mal was bei deinem verlinkten Beispiel mit der URL passiert wenn du einen der Ordner auswählst:

                  http://www.evoluted.net/stuff/index.php

                  Dann wird die URL zu http://www.evoluted.net/stuff/index....=testsubdir%2F

                  Dh es läuft am Server immer noch die index.php, jedoch wird das Dir als Parameter angegben.
                  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


                  • #10
                    Aus http://server/Ordner1/selbst.php

                    Wird http://server/Ordner1/Ordner2/a

                    Kommentar


                    • #11
                      versuch mal folgende url zu machen

                      PHP-Code:
                      http://server/foder.php?/Ordner1/Ordner2/a 
                      daraus kannst du dann mit htaccess einfacher eine umschreibung auf
                      PHP-Code:
                      http://server/foder/Ordner1/Ordner2/a 
                      einstellen
                      apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                      Kommentar


                      • #12
                        Wie? Das ausführende Script muss immer selbst.php bleiben. Wenn du das "verlässt" durch klick auf einen ander verklinken Ordner, dann wird ja dein Script nicht mehr ausgeführt. Sry, anders kann ich es nicht erklären, schaus die an wie das andere oben von dir verklinkte Script ("/stuff") reagiert es bleibt immer die index.php dort und der jeweilige Ordner NUR als Parameter(!) verlinkt/übergeben.

                        LG
                        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


                        • #13
                          PHP-Code:
                          <?php
                          $path 
                          __DIR__;
                          if(isset(
                          $_GET['path'])){
                              
                          $path $_GET['path'];
                          }
                          $path realpath($path);


                          $objects = new DirectoryIterator($path);
                          /**
                           * @var $object SplFileInfo
                           */
                          foreach($objects as $name => $object){
                              if(
                          $object->isDir()){
                                 echo 
                          sprintf('<a href="folder.php?path=%s">%s</a><br>',$object->getRealPath(),$object->getBasename());
                              }

                          }
                          und vor dem foreach splittest du den $path auf und zeigst dann eine aufgeklappte ordnerstruktur an
                          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                          Kommentar


                          • #14
                            jetzt bin ich komplett verwirrt

                            Kommentar


                            • #15
                              Zitat von schlitzdich Beitrag anzeigen
                              jetzt bin ich komplett verwirrt
                              erstelle eine datei, ganz egal welcher name mit dem Inhalt

                              PHP-Code:
                              <?php
                              $path 
                              __DIR__;
                              $file null;
                              $fileLines = array();
                              if(isset(
                              $_GET['path'])){
                                  
                              $path $_GET['path'];
                              }
                              if(isset(
                              $_GET['file'])){
                                  
                              $file $_GET['file'];

                              }
                              $path realpath($path);
                              $file realpath($file);
                              if(
                              is_file($file)){
                                  
                              $fileLines = new SplFileObject($file);
                                  
                              $path $fileLines->getPath();
                              }

                              $objects = array();

                              try{
                                  
                              $objects = new DirectoryIterator($path);
                              }catch (
                              Exception $e){
                                  echo 
                              $e->getMessage();
                              }

                              /**
                               * @var $object SplFileInfo
                               */
                              foreach($objects as $name => $object){
                                  if(
                              $object->isDir()){
                                     echo 
                              sprintf('<a href="?path=%s">%s</a><br>',$object->getRealPath(),$object->getBasename());
                                  }else{
                                      echo 
                              sprintf('<a href="?file=%s">%s</a><br>',$object->getRealPath(),$object->getBasename());
                                  }

                              }
                              echo 
                              '<hr>';

                                  foreach (
                              $fileLines as $line_num => $line) {
                                      echo 
                              $line.'<br/>';
                                  }
                              kopiere diese datei irgendwo in deinem document root und rufe dann localhost/dateiname.php auf und du kriegst sofort alle ordner raus
                              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                              Kommentar

                              Lädt...
                              X