Ausgelesene Datein verlinken

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

  • Ausgelesene Datein verlinken

    Hi Leute,

    Also ich habe folgendes problem:
    Der Code unten liest die datein des angebenen verzeichnis aus. ich würde die ausgabe gerne jeweils als link haben so das die datei die aus gegeben wird ein link zu sich selbst is.
    vielen dank für eure hilfe.

    mfg
    duke_xx

    Code:
    <?php
    // Recrusive function to get through all files & directories
    function getFiles($dir, $depth = 0)
    {
    $fh = opendir($dir);

    if(!$fh) return;

    while (false !== ($file = readdir($fh)))
    {
    // Skip pointers to this and the dir above
    if($file == '.' || $file == '..') continue;

    // If directory => Call this function with other paramters
    // again
    if(is_dir($dir.'/'.$file))
    {
    echo str_repeat('»', $depth).'
    <strong>'.$file.'</strong><br />';
    getFiles($dir.'/'.$file, $depth+1);
    }

    // If file => Just print it out
    else
    {
    echo str_repeat('»', $depth).' '.$file.'<br />';
    }
    }
    }

    getFiles('Neuer Ordner')
    ?>

  • #2
    PHP-Code:
    echo "<strong>'.$file.'</strong><br />"
    ersetzen durch

    PHP-Code:
    echo "<strong><a href=\"".$file."\">'.$file.'</a></strong><br />"
    kann höchstens sein, dass du mit der depth noch spielen, und dementsprechend den link ändern musst.

    aber n bisserl was tun schadet ja nicht
    **********
    arkos
    **********

    Kommentar


    • #3
      urlencode nicht vergessen, sonst werden Dateinamen mit Sonderzeichen wie bspw. Leerzeichen u.U. problematisch.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        danke für deine hilfe soweit

        mein code sieht jetzt so aus.
        er merkrt aber noch in zeile 27 also:
        "<strong><a href=\"".$file."\">'.$file.'</a></strong><br />";


        vielen dank
        mfg duke_xx

        neuer ganzer code:
        <?php
        // Recrusive function to get through all files & directories
        function getFiles($dir, $depth = 0)
        {
        $fh = opendir($dir);

        if(!$fh) return;

        while (false !== ($file = readdir($fh)))
        {
        // Skip pointers to this and the dir above
        if($file == '.' || $file == '..') continue;

        // If directory => Call this function with other paramters
        // again
        if(is_dir($dir.'/'.$file))
        {
        echo str_repeat('&raquo;', $depth).'
        "<strong><a href=\"".$file."\">'.$file.'</a></strong><br />";

        getFiles($dir.'/'.$file, $depth+1);
        }

        // If file => Just print it out
        else
        {
        echo str_repeat('&raquo;', $depth).' '.$file.'<br />';
        }
        }
        }

        getFiles('Neuer Ordner')
        ?>

        Kommentar


        • #5
          Re: danke für deine hilfe soweit

          Bitte lies die Regeln, und nutze die [php]-Tags, um deinen Code lesbarer zu gestalten (Umbrüche nicht vergessen!)

          Damit solltest du auch leichter erkennen, wo der Fehler liegt.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            wenn eine den board-php-tag benutzt und der andere nicht, dann passiert sowas halt. deswegen machen die regeln wie wahsaga wahsagt auch sinn


            mach das draus:

            if(is_dir($dir.'/'.$file))
            {
            echo str_repeat('»', $depth).'
            <strong><a href=\"'.$file.'\">'.$file.'</a></strong><br />';

            getFiles($dir.'/'.$file, $depth+1);
            }
            **********
            arkos
            **********

            Kommentar


            • #7
              HI arkos

              Also jetzt sieht mein code so aus und da geht jetzt ger nichts mehr

              mfg duke_xx

              PHP-Code:
              <?php
              // Recrusive function to get through all files & directories
              function getFiles($dir$depth 0)
              {
                  
              $fh opendir($dir);
                  
                  if(!
              $fh) return;
                  
                  while (
              false !== ($file readdir($fh)))
                  {
                      
              // Skip pointers to this and the dir above
                      
              if($file == '.' || $file == '..') continue;
                      
                      
              // If directory => Call this function with other paramters
                      // again
                      
              if(is_dir($dir.'/'.$file))
              {
              echo 
              str_repeat('»'$depth).
              <strong><a href=\"'
              .$file.'\">'.$file.'</a></strong><br />';

              getFiles($dir.'/'.$file$depth+1);
              }

                          
              getFiles($dir.'/'.$file$depth+1);
                      }
                      
                      
              // If file => Just print it out
                     
              else
                      {
                          echo 
              str_repeat('&raquo;'$depth).' '.$file.'<br />';
                      }
                  }
              }

              getFiles('Neuer Ordner')
              ?>

              Kommentar


              • #8
                Re: HI arkos

                Original geschrieben von duke_xx
                und da geht jetzt ger nichts mehr
                Bitte liefere uns eine nachvollziehbare Fehler- und Problembeschreibung - anstatt so eines nichtssagenden Unsinns.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  richtig. neh fehlermeldung wäre eventuell hilfreich
                  **********
                  arkos
                  **********

                  Kommentar


                  • #10
                    Fehlermeldung

                    Hi Leute,

                    die Fehlermeldung für den letzten code von mir (siehe oben) lautet:

                    Parse error: parse error in C:\xampp\htdocs\xampp\auslesen.php on line 28

                    könnt ihr mir helfen?

                    mfg
                    duke_xx

                    Kommentar


                    • #11
                      Rücke deinen Code richtig ein und zähle die geschweiften Klammern bzw. überlege, wozu das else - mehr steht ja in Zeile 28 nicht - gehört.
                      (Parse Errors kann man fast immer selbst finden!)

                      Kommentar


                      • #12
                        Re: Fehlermeldung

                        Original geschrieben von duke_xx
                        die Fehlermeldung für den letzten code von mir (siehe oben) lautet:

                        Parse error: parse error in C:\xampp\htdocs\xampp\auslesen.php on line 28
                        Kann es sein, dass du uns schon wieder die Hälfte verschweigst ...?

                        unexpected T_ELSE o.ä. müsste da m.E. kommen - logisch, weil du mit den geschweiften Klammern Murks gebaut hast.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Hi Leute,

                          habe den fehler gefunden:

                          nur jetzt gibt er die datein zwar wieder aus, aber halt immer noch nich als links:

                          thx + mfg
                          duke_xx

                          PHP-Code:
                          <?php
                          // Recrusive function to get through all files & directories
                          function getFiles($dir$depth 0)
                          {
                              
                          $fh opendir($dir);
                              
                              if(!
                          $fh) return;
                              
                              while (
                          false !== ($file readdir($fh)))
                              {
                                  
                          // Skip pointers to this and the dir above
                                  
                          if($file == '.' || $file == '..') continue;
                                  
                                  
                          // If directory => Call this function with other paramters
                                  // again
                                 
                          if(is_dir($dir.'/'.$file))
                          {
                          echo 
                          str_repeat('»'$depth).
                          <strong><a href=\"'
                          .$file.'\">'.$file.'</a></strong><br />';

                          getFiles($dir.'/'.$file$depth+1);
                          }
                                  
                                  
                          // If file => Just print it out
                                  
                          else
                                  {
                                      echo 
                          str_repeat('&raquo;'$depth).' '.$file.'<br />';
                                  }
                              }
                          }

                          getFiles('Neuer Ordner')
                          ?>

                          Kommentar


                          • #14
                            wir haben bislang die directorys verlinkt nicht die files. wie die kommentare im original-script auch besagen. wie zum beispiel:

                            // If file => Just print it out

                            heißt, da müsste der link eingebaut werden, den wir bei den directorys eingebaut haben...

                            kommst du da alleine drauf?
                            **********
                            arkos
                            **********

                            Kommentar


                            • #15
                              HI Leute,

                              Ne irgendwie nicht, aber es wird wohl irgendwas mit der zeile zutun haben

                              PHP-Code:
                              echo str_repeat('&raquo;'$depth).' '.$file.'<br />'
                              mfg
                              duke_xx

                              Kommentar

                              Lädt...
                              X