Avatar billede fixbabe Nybegynder
05. februar 2006 - 21:53 Der er 4 kommentarer og
1 løsning

liste billeder fra mappe

Jeg søger et script der kan liste mapper og billederne der i.
Eks: mappe /home/user/pic/ her skal den liste de mapper der er og linke til dem, i de mapper skal den liste mapperne der i og linke hvorefter den kommer til billederne.

Det hele er bygget op sådan her: /home/user/pic/"dato"/"bruger"/"billederne"
Avatar billede showsource Seniormester
06. februar 2006 - 12:05 #1
Du kan ændre i dette så det gør hvad du vil

<html>
<head>
<title>Javascript test</title>
<script type="text/javascript">

// javascript found at exp.dk

function get_id ($id) {
    if (document.all && document.getElementById) {
    return document.all($id);
    } else if (!document.all && document.getElementById) {
    return document.getElementById($id);
    } else {
    return false;
    }
}

function box_click ($id) {
    if (($bcontent = get_id($id))) {
    $bcontent = $bcontent.style;
    } else {
    return false;
    }

    if ($bcontent.visibility == 'hidden') {
    $bcontent.display = '';
    $bcontent.visibility = 'visible';
    } else {
    $bcontent.display = 'none';
    $bcontent.visibility = 'hidden';
    }
}

</script>
</head>
<body>

<?php
// detox hjalp mig med dette script! :O)
// http://www.eksperten.dk/spm/599757

// Nedenstående fem variabler er de eneste som skal rettes
$start_path = "C:/sites/nytest"; // Sti til roden af dir som skal læses igennem. $_SERVER["DOCUMENT_ROOT"] kan evt. bruges
$read_start = "/"; // Fra roden af dir, og frem til dir som skal læses igennem. Kan evt. blot være "/"
$start_dir = ""; // Navn på dir som skal læses igennem. Kan være tom

$dir_image = "/images/mappe.gif"; // "url-sti" til billede af en mappe. Kan evt. findes på http://showsource.users.whitehat.dk/images/mappe.gif
$indryk = 30; // Hvor meget indrykning pr. subdir der skal være



$mappe = $start_path . $read_start . $start_dir;
$liste = array($mappe);

function visFiler($dir) {
$out = array();
    $d = dir($dir);
    while (false !== ($file = $d->read())) {
        if (is_file($dir ."/". $file)) {
            $out[] = $file;
        }     
    }
    $d->close();

return $out;
}

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();
}

if(is_dir($mappe)) {

visMapper($mappe, $liste);
sort($liste);

$ialt = 0;

    foreach ($liste as $sti) {

    $ialt++;

    $visdir = explode($start_path . $read_start, $sti);
    $linksti = $read_start . $visdir[1];
    $dirantal = explode("/", $visdir[1]);
    $t = (count($dirantal)*$indryk);
    $dirstien = (!empty($visdir[1]) ? $visdir[1] : "/");

    $filer = visFiler($sti);

    echo "<div style=\"margin-left: ". $t ."px; padding: 4px;\"><span style=\"cursor: hand;\" onclick=\"box_click('dir_". $ialt ."');\"><img src=\"". $dir_image ."\" align=\"top\" border=\"0\"> <b>". $dirstien .":</b> <small>(". count($filer) ." filer)</small></span>\r\n";

    echo "<div style=\"margin-left: ". $indryk ."px; position: relative; visibility: hidden; display:none;\" id=\"dir_". $ialt ."\">\r\n";

        if (count($filer) !=0) {
        sort($filer);

            foreach ($filer as $fil) { //
            echo "<a href=\"http://". $_SERVER["HTTP_HOST"] . $linksti ."/". $fil ."\">". $fil ."</a><br />\r\n";
            }

        }else{
        echo"Ingen filer";
        }

    echo"</div></div>\r\n";
    }

}else{

echo"Fejl i stiangivelse!";

    if(is_dir($start_path)) {
    echo"<br />\r\n\$start_path er korrekt.";

        if(is_dir($start_path . $read_start)) {
        echo"<br />\r\n\$read_start er korrekt.";
        echo"<br />\r\n<b>\$start_dir</b> findes IKKE!.";
        }else{
        echo"<br />\r\n<b>\$read_start</b> er forkert defineret.";
        }

    }else{
    echo"<br />\r\n<b>\$start_path</b> er forkert defineret.";
    }
}

clearstatcache();
?>
</body>
</html>
Avatar billede fixbabe Nybegynder
06. februar 2006 - 18:09 #2
Det må jeg sige :) det var enkelt at sætte op :) en ting mere hvordan så hvis jeg vil have billedet op i en popup ? uden rammer mm
Avatar billede showsource Seniormester
07. februar 2006 - 07:01 #3
popup?
Det laver du ved linket til hver fil
            foreach ($filer as $fil) { //
            echo "<a href=\"http://". $_SERVER["HTTP_HOST"] . $linksti ."/". $fil ."\">". $fil ."</a><br />\r\n";
            }

med noget javascript.

Evt. en div som er skjult, indtil mouseover/onclick på linket
Avatar billede fixbabe Nybegynder
30. april 2006 - 00:14 #4
Det virker som, det skal hvis du gider smide et svar så jeg kan lukke.
Avatar billede showsource Seniormester
30. april 2006 - 07:05 #5
ok
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