Avatar billede d.kryger Praktikant
17. november 2004 - 13:14 Der er 10 kommentarer og
1 løsning

Vis filer i mappe

Hej eksperter...

Jeg vil gerne lave en side, hvor jeg kan vise de besøgende hvilke filer der ligger i en bestemt mappe på mit webhotel (eks. www.domain.dk/billeder).

Filerne i mappen er billede filer, og der skal gerne været et link til billedet, hvor det f.eks. åbner i et nyt vindue.

Kan det overhoved lade sig gøre?
Avatar billede morteeart Nybegynder
17. november 2004 - 13:20 #1
Avatar billede schaefner Juniormester
17. november 2004 - 13:24 #2
Avatar billede jaw Nybegynder
17. november 2004 - 13:25 #3
<?
$handle=opendir('./billeder');
while (false !== ($file = readdir($handle))) {
    if($file != "." && $file != "..") {
        echo "<a href='./billeder/".$file."'>".$file."</a><br />";
    }
}
closedir($handle);
?>
Avatar billede kimg Nybegynder
17. november 2004 - 13:30 #4
function list_filer($dir)
{
    if ($folder = @opendir($dir)) {
   
        while (false !== ($fil = readdir($folder))) {
            if ($fil != '.' && $fil != '..' && !ereg('^\..+', $fil) && eregi(".jpg$", $fil) || eregi(".gif$", $fil)) {
           
           
           
           
                $fil_list[] = "<a target=\"_blank\" href=\"$dir/$fil\">$fil</a>";
            }
           
        }   
       
        closedir($folder);
       
       
        if (is_array($fil_list)) {
       
            $liste = '<li>' . join('</li><li>', $fil_list ) . '</li>';
        } else {
            $liste = '<li>Tom</li>';
        }
       
        $filer = "<h2>Filer:</h2><ul>$liste</ul>";

        return $filer;
         
    } else {
        die("Kunne ikke åbne mappen: $dir");
    }
}

echo list_filer('.');


?>
Avatar billede d.kryger Praktikant
17. november 2004 - 13:34 #5
Jeg har prøvet denne:
<?php

foreach (glob("*.jpg") as $filename)
{
print "$filename. Størrelse ".filesize($filename)."<br>";
}

?>

Det virker også, men hvordan kan man lave så man kan vælge to eller flere af billederne og downloade dem til sin harddisk?
Avatar billede schaefner Juniormester
17. november 2004 - 13:58 #6
Hvordan mener du? Du skal vel bare lave en henvisning til filen så folk kan højreklikke og gemme?

<?php
foreach (glob("*.jpg") as $filename) {
  print "<a href=\"".$filename."\">".$filename."</a>. Størrelse: ".filesize($filename)."<br />";
}
?>
Avatar billede d.kryger Praktikant
17. november 2004 - 14:04 #7
Jeg kunne rigtig godt tænke mig at man kunne se en liste med f.eks. 10 filer, og så f.eks. vælge de 5 af dem ved at klikke i en checkbox ud for filnavnet. Derefter skal man kunne klikke på en download knap, og så downloader den til en destination man vælger...

Kan det lade sig gøre?
Avatar billede schaefner Juniormester
17. november 2004 - 14:27 #8
Det er næppe muligt at downloade flere billeder på den måde. Den eneste måde jeg lige kan komme på er at pakke de valgte billeder.

Men du kan f.eks. gøre sådan for at downloade et enkelt billede:

[files.php]

<?php
foreach (glob("*.jpg") as $filename) {
  print "<a href=\"download.php?file=".$filename."\">".$filename."</a>. Størrelse: ".filesize($filename)."<br />";
}
?>

[download.php]

<?php
if (isset($_GET['file'])) {
    header("Content-Type: application/octet-stream");

    header("Content-Disposition: attachment; filename=".basename($_GET['file'])."");
    header("Content-Length: ".filesize($_GET['file']));
    readfile($_GET['file']]);
}
?>
Avatar billede schaefner Juniormester
19. november 2004 - 08:29 #9
Kan du bruge det?
Avatar billede d.kryger Praktikant
19. november 2004 - 08:40 #10
morteeart & schaefner -> Læg et venligst et svar...
Avatar billede schaefner Juniormester
19. november 2004 - 09:44 #11
Ok, regner med at det virker så :)

Med venlig hilsen
Jesper Sørensen
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