Avatar billede christian-BN Praktikant
15. februar 2008 - 12:38 Der er 5 kommentarer

Liste undermapper.

Hej, jeg har vil gerne have alle mapper i en bestemt mappe vist (mappen hedder fil)
Jeg bruger følgende kode til at vise mapperne i "fil" i en select.
<form>
<select>
<?
$basisfolder='fil';
if ($handle = opendir($basisfolder)) {
        while (false !== ($file = readdir($handle))) {
                if (is_dir("$basisfolder/$file")) {
                        if ($file != "." && $file != "..")  echo "<option>$file</option>";

                } // afslutter  if (is_dir("$basisfolder/$file")) {
       
        } //afslutter while (false !== ($file = readdir($handle))) {
        closedir($handle);

} //afslutter if ($handle = opendir($basisfolder))
?>
</select>
</form>

Men hver mappe får 1-2 undermapper, hvordan får jeg dem vist med ?
Eksempel på stien ville være

fil > ferie > natur > Sommer2006

Lige nu viser den kun
Ferie i min select.
Avatar billede mibu Nybegynder
15. februar 2008 - 13:20 #1
Med på en kikker :-)
Avatar billede showsource Seniormester
15. februar 2008 - 16:20 #2
Evt.

function visMapper($dir, &$out) {

    $d = dir($dir);
    while (false !== ($file = $d->read())) {
        if ($file != '.' && $file != '..') {
            if (is_dir($dir ."/". $file)) {
                $out[] = $dir ."/". $file;
                visMapper($dir ."/". $file, $out);
            }       
        }
    }
    $d->close();
}

Så har du array'et $out at bruge.
Avatar billede christian-BN Praktikant
16. februar 2008 - 19:47 #3
Hmm.. jeg synes ikke helt jeg kan få det til at fungerer..
Jeg er ikke helt ekspert på php, så hvordan skal jeg definere $out i visMapper?
Hvad gør "&" foran $out i funktionen, og hvordan skal jeg så skrive det når jeg kalder funktionen?

Bruger indtil videre visMapper("fil");
Avatar billede christian-BN Praktikant
18. februar 2008 - 09:12 #4
Der er ingen som kan forklare mig &$out?
Avatar billede showsource Seniormester
18. februar 2008 - 20:23 #5
ehh, et link:
http://dk.php.net/manual/da/language.references.php

$mydir = "fil";
$dirlist = array($mydir);

visMapper($mydir,$dirlist);

echo"<pre>";
print_r($dirlist);
echo"</pre>";
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