verzeichnis

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • verzeichnis

    hab nun folgende func:
    PHP Code:
    function filelist ($startdir="./"$searchSubdirs=1$directoriesonly=0
    $maxlevel="all"$level=1) {
       
    //list the directory/file names that you want to ignore
       
    $ignoredDirectory[] = "."
       
    $ignoredDirectory[] = "..";
       
    $ignoredDirectory[] = "_vti_cnf";
       global 
    $directorylist;    //initialize global array
       
    if (is_dir($startdir)) { 
           if (
    $dh opendir($startdir)) { 
               while ((
    $file readdir($dh)) !== false) {
                   if (!(
    array_search($file,$ignoredDirectory) > -1)) {
                     if (
    filetype($startdir $file) == "dir") {
                           
    //build your directory array however you choose; 
                           //add other file details that you want.
                           
    $directorylist[$startdir $file]['level'] = $level;
                           
    $directorylist[$startdir $file]['dir'] = 1;
                           
    $directorylist[$startdir $file]['name'] = $file;
                           
    $directorylist[$startdir $file]['path'] = $startdir;
                           if (
    $searchSubdirs) {
                               if (((
    $maxlevel) == "all") or ($maxlevel $level)) {
                                   
    filelist($startdir $file "/"$searchSubdirs
    $directoriesonly$maxlevel$level 1);
                               }
                           }
                       } else {
                           if (!
    $directoriesonly) {
                               
    //if you want to include files; build your file array  
                               //however you choose; add other file details that you 
    want.
                             
    $directorylist[$startdir $file]['level'] = $level;
                             
    $directorylist[$startdir $file]['dir'] = 0;
                             
    $directorylist[$startdir $file]['name'] = $file;
                             
    $directorylist[$startdir $file]['path'] = $startdir;
         }}}}
               
    closedir($dh);
    }}
    return(
    $directorylist);

    Ausgabe:
    PHP Code:
    $files filelist($_GET['dir']."/",1,1); // call the function
    foreach ($files as $list) {//print array
       
    echo "         "
    .str_replace($_GET['dir']."/","",$list['path']).$list['name'] . "<br>";

    wie kann ich das umschreiben, damit ich das als verzeichnisbaum anzeigen kann.
    Last edited by dani_o; 17-02-2006, 12:51.
    Signatur-Text ...

  • #2
    wie kann ich das umschreiben, damit ich das als verzeichnisbaum anzeigen kann.
    mit Hilfe der Tastatur...

    Die Frage ist doch eher, was ist dein Problem dabei? Was sind deine Ansätze?

    Comment


    • #3
      Zum Verständnis:

      Die Ordner in den Unterverzeichnissen sollen versetzt dargestellt werden. wie beim explorer eine art baumstruktur!
      Signatur-Text ...

      Comment


      • #4
        Re: verzeichnis

        Das "Level" hast du - also sorge dafür, dass jede Ausgabe diesem Level entsprechend versetzt wird - bspw. durch mehrere &amp;nbsp; oder durch margin/padding, vom Script als inline-Styles ausgegeben.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Comment


        • #5
          hab das zwar erst mal so gelöst:
          PHP Code:
          $files filelist($_GET
          ['dir']."/",1,1); // call the function

          foreach ($files as $list) {//print array
             
          echo "&nbsp;&nbsp;<a href=\"folder.php?dir=".$_GET['dir']."&subdir=".$list['name'] ."\" 
          onclick=\"FrameAendern('files.php?
          dir="
          .$list['path']."&subdir=".$list['name']."', 'file')\" >".$list['name'] ."</a><br>";

          aber da werden die unterverzeichnisse nicht eingerückt! Bur die ersten. jedes weiter unterunter...-verzeichniss müste um ein leerzeichen weiter nach links ...
          Signatur-Text ...

          Comment


          • #6
            Re: Re: verzeichnis

            Original geschrieben von wahsaga
            Das "Level" hast du - also sorge dafür, dass jede Ausgabe diesem Level entsprechend versetzt wird - bspw. durch mehrere &amp;nbsp; oder durch margin/padding, vom Script als inline-Styles ausgegeben.
            ah ja ... ich probs mal
            Signatur-Text ...

            Comment


            • #7
              so gelöst:
              PHP Code:
              $i=0;
              while(
              $i<=$list['level']){
              echo 
              "&nbsp;&nbsp;";
              $i++;

              THX!
              Signatur-Text ...

              Comment


              • #8
                oder per ul/li, da steckt das gewünschte verhalten quasi schon drin
                Die Zeit hat ihre Kinder längst gefressen

                Comment


                • #9
                  ich würde eine rekursive Funktion verwenden, die bei jedem Aufruf mittels str_repeat() den Versatz vornimmt...

                  Comment


                  • #10
                    schön wärs in divs mit ids und dann den rest per css regeln
                    Die Milch bleibt ranzig!

                    Comment

                    Working...
                    X