Robert: Verzeichnis-Index

Hallo,

dank vieler nette Leute (zum Glück gibts die noch), hab ich jetzt inzwischen ein PHP-Skript, das einen Verzeichnisindex beim Laden erzeugt.
Nun möchte ich, dass dabei die Verzeichnisse und Files "logs", "usage", ".htaccess" ... dabei übersprungen bzw. ignoriert werden.

Was muss dafür wo eingefügt werden?

<?php
   define(cROOT_DIR,'pfadinsverzeichnis');
   $files=array();
   $dirs=array();
   $handle=opendir(cROOT_DIR.$DIR);
   clearstatcache();
   while ($entry=readdir($handle)){
    if (is_dir(cROOT_DIR.$DIR.'/'.$entry)) {
     $dirs[]=sprintf("<A HREF='%s'><IMG ALIGN=absbottom BORDER=0 SRC=dir.gif ALT=[DIR]> %s",$entry,$entry,"</A>");
    }else{
     $s=filesize($entry);
     $files[]=sprintf("<A HREF='%s'><IMG ALIGN=absbottom BORDER=0 SRC=file.gif ALT=[FILE]> %s</A> %s",$entry,$entry,$s);
    }
   }
   echo join($dirs,'<BR>');
   echo "<br>";
   echo join($files,'<BR>');
?>

Es wäre wirklich sehr sehr nett, wenn sich dem jemand annehmen würde, da ich leider noch nicht sehr viel php-Erfahrung habe.

Schonmal Danke,

Robert

  1. Huhu Robert

    "sehr sehr nett" ist es tatsächlich...

    Du könntest die "überspringungswürdigen" Einträge in einem Array anlegen, das per in_array abfragen und ggf. per continue in der While-Schleife überspringen.

    Diese Lösung unterscheidet allerdings _nicht_ zwischen Files und Directories, das wäre ja eigentlich ganz nett wenn sie es täte.

    Also

    [1] $not_to_show=array('logs','usage','.htaccess');

    [2] if(in_array($entry,$not_to_show)) continue;

    [3] in dieser Zeile einen Fehler beseitigen

    <?php
       define(cROOT_DIR,'pfadinsverzeichnis');

    [1]

    $files=array();
       $dirs=array();
       $handle=opendir(cROOT_DIR.$DIR);
       clearstatcache();
       while ($entry=readdir($handle)){

    [2]

    if (is_dir(cROOT_DIR.$DIR.'/'.$entry)) {

    [3]     $dirs[]=sprintf("<A HREF='%s'><IMG ALIGN=absbottom BORDER=0 SRC=dir.gif ALT=[DIR]> %s",$entry,$entry,"</A>");

    }else{
         $s=filesize($entry);
         $files[]=sprintf("<A HREF='%s'><IMG ALIGN=absbottom BORDER=0 SRC=file.gif ALT=[FILE]> %s</A> %s",$entry,$entry,$s);
        }
       }
       echo join($dirs,'<BR>');
       echo "<br>";
       echo join($files,'<BR>');
    ?>

    Viele Grüße

    lulu