Avatar billede spidr Nybegynder
19. januar 2005 - 17:27 Der er 3 kommentarer og
1 løsning

Sortere efter $file

Nogen der kan få nedenstående script til at sortere mapperne den henter efter alfabetisk orden??

<?
$initdir = "../pics";
$ignore = array("small","images");

function myreaddir($dirname,$level,$ignore) {
                if (is_dir($dirname)) {
                  $dh = opendir($dirname);
                  $spacer = "";
                  for ($i = 0;$i < $level; $i++) {
                        $spacer .= "&nbsp;";
                }
                  while(($file = readdir($dh)) !== false) {
                          if (!in_array($file,$ignore) && $file != '.' && $file != '..' && is_dir($dirname . "/" .$file)) {
                                  print "$spacer <a href=\"show.php?mappe=$dirname/" . $file . "\">" . $file . "</a><br>";
                                  myreaddir($dirname . "/" . $file,$level+1,$ignore);
                          }
                  }
        }
}
myreaddir($initdir,1,$ignore);
?>
Avatar billede jakoba Nybegynder
19. januar 2005 - 17:59 #1
<?
$initdir = "../pics";
$ignore = array("small","images");

function myreaddir($dirname,$level,$ignore) {
    if (is_dir($dirname)) {
        $dh = opendir($dirname);
        $spacer = "";
        for ($i = 0;$i < $level; $i++) {
            $spacer .= "&nbsp;";
        }
        $temp_array = array();
        while( ($file = readdir($dh)) !== false ) {
            if (  !in_array($file,$ignore) && $file != '.' && $file != '..' && is_dir($dirname . "/" .$file) ) {
                $temp_array[] = $file;
            }
        }
        sort( $temp_array );              // her sorteres filerne
        foreach( $temp_array as $file ) {
            print "$spacer <a href=\"show.php?mappe=$dirname/" . $file . "\">" . $file . "</a><br>";
            myreaddir($dirname . "/" . $file,$level+1,$ignore);
        }
    }
}
myreaddir($initdir,1,$ignore);
?>

mvh JakobA
Avatar billede spidr Nybegynder
19. januar 2005 - 18:08 #2
Tusind tak :)
Avatar billede jakoba Nybegynder
19. januar 2005 - 18:28 #3
selv tak.

Noget andet er at du nok bør lukke efter dig når du er færdig med at læse i en mappe, ellers ender du med at have en hulens masse filer åbnede filer, måske så mange at php går ned af det.

function myreaddir($dirname,$level,$ignore) {
    if (is_dir($dirname)) {
        $dh = opendir($dirname);
        $spacer = "";
        for ($i = 0;$i < $level; $i++) {
            $spacer .= "&nbsp;";
        }
        $temp_array = array();
        while( ($file = readdir($dh)) !== false ) {
            if (  !in_array($file,$ignore) && $file != '.' && $file != '..' && is_dir($dirname . "/" .$file) ) {
                $temp_array[] = $file;
            }
        }
        closedir( $dh );  //TILFØJET LINIE  færdig med at læse i mappen, luk den igen.
        sort( $temp_array );              // her sorteres filerne
        foreach( $temp_array as $file ) {
            print "$spacer <a href=\"show.php?mappe=$dirname/" . $file . "\">" . $file . "</a><br>";
            myreaddir($dirname . "/" . $file,$level+1,$ignore);
        }
    }
}
Avatar billede spidr Nybegynder
19. januar 2005 - 18:51 #4
Tak :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester