Avatar billede simplus Nybegynder
30. december 2006 - 02:43 Der er 3 kommentarer og
1 løsning

directory tree - gået i stå

Jeg har lavet dette directory tree, men jeg er gået lidt i stå:

<?php
$dir = "files/";
$dh = opendir($dir);

while (gettype( $file = readdir($dh)) != boolean) {
    if ($file != "." && $file != "..") {
        if (is_dir("$dir/$file")) {
            echo "<a href=\"files/$file\">".$file."</a><br>";
        }
    }
}
closedir( $dh );
?>

Jeg mangler at gøre således at hvis man trykker på et link så kommer alle filerne frem som mappen indeholder. Jeg har på forhånd sørget for at man ikke kan lave undermapper. Så jeg skal kun have listet alle mappens filer når man klikker på den.
Avatar billede simplus Nybegynder
30. december 2006 - 04:01 #1
Fandt selv ud af det, der er en lille bitte fejl som jeg selv er igang med at rette!

Til dem som selv kunne bruge et directory tree, værsgod:

<?php
session_start();

$dir = "files/";
$dh = opendir($dir);

while (gettype( $file = readdir($dh)) != boolean) {
    if ($file != "." && $file != "..") {
        if (is_dir("$dir/$file")) {

if (!isset($number)) {
    $_SESSION[numb] = "1";
    $number = $_SESSION[numb];
}

            echo "<a href='#".$number."' onClick=\"document.getElementById('".$number."').style.visibility='visible'\">".$file."</a>";

            echo "<span id='".$number."' style=\"visibility: hidden;\">";
            echo "<br>";

                $sti = "files/$file/";
                $dirhandle = opendir($sti);

                    while($content = readdir($dirhandle)) {
                        if ($content != "." && $content != "..") {
                                if (is_file($sti.$content)) {
                                echo " - " . $content . "<br>";
                            }
                        }
                    }

            echo "</span>";

            $number = $number+1;

        }
    }
}

closedir( $dh );
?>
Avatar billede simplus Nybegynder
30. december 2006 - 04:02 #2
:-)
Avatar billede simplus Nybegynder
30. december 2006 - 04:17 #3
Så fik jeg løst den sidste fejl, her er min færdige udgave hvis nogen skulle få brug for den:

<?php
session_start();

$dir = "files/";
$dh = opendir($dir);

while (gettype( $file = readdir($dh)) != boolean) {
    if ($file != "." && $file != "..") {
        if (is_dir("$dir/$file")) {

if (!isset($number)) {
    $_SESSION[numb] = "1";
    $number = $_SESSION[numb];
}

            echo "<a href='#".$number."' onClick=\"document.getElementById('".$number."').style.visibility='visible'\">".$file."</a>";

            echo "<span id='".$number."' style=\"visibility: hidden;\">";

                $sti = "files/$file/";
                $dirhandle = opendir($sti);

                    echo "<br>";
                    echo "<select size=\"1\">";

                    while($content = readdir($dirhandle)) {
                        if ($content != "." && $content != "..") {
                                if (is_file($sti.$content)) {
                                echo "<option>".$content."</option>";
                                echo "<br>";
                            }
                        }
                    }

                    echo "</select>";
                    echo "<br>";


            echo "</span>";

            $number = $number+1;

        }
    }
}

closedir( $dh );
?>
Avatar billede simplus Nybegynder
30. december 2006 - 18:12 #4
Har lavet lidt opdateringer på koden og bland andet proppet lidt HTML og CSS ind, samt gjort den valid.

Til dem der kan bruge det:

<?php
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Directory Tree</title>
</head>

<body>

<?php
$dir = "files/";
$dh = opendir($dir);


    echo "<h2>Directory: ".$dir."</h2>";

        echo "<span style=\"padding-left: 15px;\"><u>Filer:</u></span><br>";

            $dirnavn = "files/";
            $dirh = opendir($dirnavn);

            while($udskriv_fil = readdir($dirh)) {

                if ($udskriv_fil != "." && $udskriv_fil != "..") {

                    if (is_file($dirnavn.$udskriv_fil)) {
                        echo "<span style=\"padding-left: 25px;\"> - ".$udskriv_fil."</span><br>";
                    }
                }
            }

        echo "<br>";

        echo "<span style=\"padding-left: 15px;\"><u>Mapper:</u></span>";


            echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"padding-top: 0px; padding-left: 0px; padding-right: 10px; padding-bottom: 0px;\">";

while (gettype( $file = readdir($dh)) != boolean) {
    if ($file != "." && $file != "..") {
        if (is_dir("$dir/$file")) {


    if (!isset($number)) {
        $_SESSION[numb] = "1";
        $number = $_SESSION[numb];
    }

            echo "<tr>";
            echo "<td><span style=\"padding-left: 25px;\"> - <a href='#link".$number."' onClick=\"document.getElementById('link".$number."').style.visibility='visible'\">".$file."</a></span></td>";

            echo "<td>";
            echo "<span id='link".$number."' style=\"visibility: hidden;\">";

                $sti = "files/$file/";
                $dirhandle = opendir($sti);

                    echo "<select size=\"1\">";

                    while($content = readdir($dirhandle)) {
                        if ($content != "." && $content != "..") {
                                if (is_file($sti.$content)) {
                                echo "<option>".$content."</option>";
                            }
                        }
                    }

                    echo "</select>";

            echo "</span>";
            echo "</td>";
            echo "</tr>";

            $number = $number+1;

        }
    }
}
            echo "</table>";

closedir($dh);
?>

</body>
</html>
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

IT-JOB
Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging