Avatar billede sesam Nybegynder
16. april 2003 - 12:47 Der er 11 kommentarer og
1 løsning

mappe browser

Jeg har noget kode der viser alle .jpg filer i en bestemt mappe. Jeg kunne godt tænke mig at der kun blev skrevet 5 filer ud af gangen og at der var mulighed for at browse i filerne altså kunne klikke næste fem osv. Selvfølgelig også kunne gå tilbage...

Forstår i???

Er det muligt?

<?php
if ($action == "unlink"){
unlink("images/".$filename);
echo "Filen: $filename -> er slettet<br />";
}
function FileList($path, $ext="")
{
    $extlen = strlen($ext);
    $filesArray = array();
    $handle=opendir("$path");
    while (false !== ($filename = readdir($handle)))
    {
        if ($filename != "." && $filename != "..") {
            if (($ext == "") || ($ext == substr($filename,-$extlen))) {
                $fileArray[] = array($path, $filename);
            }
        }
    }
    if (sizeof($fileArray)) {
        sort($fileArray);
        for ($i=0;$i<count($fileArray);$i++) {
            list($folder, $file) = $fileArray[$i];
            $tmpfilename = substr($file, 0, strlen($file)-$extlen);
            echo "<a href=\"$folder/$file\"><img src=\"$folder/$file\" border=\"0\"></a><br />";
            echo "<b>Navn:</b>&nbsp;$file&nbsp;<a href=\"unlink.php?filename=$file&action=unlink\">Delete</a><br /><br />";
        }
    }
    else {
        echo "Der er ingen filer i \"$path\" med extension \"$ext\"<br>";
    }
    closedir($handle);
}
FileList("images",".jpg");
?>
Avatar billede mathiash Nybegynder
16. april 2003 - 13:03 #1
Avatar billede mathiash Nybegynder
16. april 2003 - 13:05 #2
Nærmere betegnet: http://delfs.dk/articles/danish/Side123.php

:-D

//Mathias
Avatar billede avminarm Juniormester
16. april 2003 - 13:48 #3
Mathias>> det vil ikke virke pga dine henvisninger vedr. database-side 1,2,3 - det sesam er ude efter er noget der kan benyttes når billederne ligger i en mappe.

Sesam>> det er ret besværligt at kode sig ud af, men hvis du kombinerer det med en database kan du benytte Mathias svar
Avatar billede schaefner Juniormester
17. april 2003 - 00:25 #4
Håber du selv kan rette den til, så den passer:

<?php
# Indstillinger
$mappe = "gfx/figurer";
$pr_side = 5; // Antallet af billeder pr. side

if (!isset($_GET['offset'])) {
    $offset = 0;
} else {
    $offset = $_GET['offset'];
}
$pics = $offset+$pr_side;
$i = $offset;

# Laver et array med billederne
$handle = opendir($mappe);
while (($fil = readdir($handle)) !== false) {
    if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil)) {
        $billeder[] = $fil;
    }
}
closedir($handle);
sort($billeder);

# Udskriver billederne
while($i < $pics && $billeder[$i] != "") {
    echo "<img src=\"$mappe/$billeder[$i]\" border=\"1\"><br>";
    $i++;
}
?>
<hr>
<?php
#Udskriver links
if ($offset >= $pr_side) {
    $forrige = $offset-$pr_side;
    echo "<a href=\"?offset=$forrige\">Forrige</a> ";
}
if (count($billeder) > $offset+$pr_side) {
    $naeste = $offset+$pr_side;
    echo "<a href=\"?offset=$naeste\">Næste</a>";
}
?>

/Jesper Sørensen
Avatar billede schaefner Juniormester
17. april 2003 - 00:28 #5
Du kan iøvrigt se den "live in action" her:
http://www.disneyzone.dk/galleri.php ;o)
Avatar billede schaefner Juniormester
17. april 2003 - 00:42 #6
Rettede den lige:

<?php
if ($action == "unlink"){
    unlink("images/".$filename);
    echo "Filen: $filename -> er slettet<br />";
}

# Indstillinger
$mappe = "gfx/figurer";
$pr_side = 5; // Antallet af billeder pr. side

if (!isset($_GET['offset'])) {
    $offset = 0;
} else {
    $offset = $_GET['offset'];
}
$pics = $offset+$pr_side;
$i = $offset;

# Laver et array med billederne
$handle = opendir($mappe);
while (($fil = readdir($handle)) !== false) {
    if ($fil != "." && $fil != ".." && substr($fil,-3) == "jpg") {
        $billeder[] = $fil;
    }
}
closedir($handle);
sort($billeder);

# Udskriver billederne
if(count($billeder)) {
    while($i < $pics && $billeder[$i] != "") {
        echo "<a href=\"$mappe/$billeder[$i]\"><img src=\"$mappe/$billeder[$i]\" border=\"1\"></a><br>";
        echo "<b>Navn:</b> $billeder[$i] <a href=\"unlink.php?filename=$billeder[$i]&action=unlink\">Delete</a><br><br>";
        $i++;
    }
} else {
    echo "Der er ingen filer i denne mappe<br>";
}
?>
<hr>
<?php
#Udskriver links
if ($offset >= $pr_side) {
    $forrige = $offset-$pr_side;
    echo "<a href=\"?offset=$forrige\">Forrige</a> ";
}
if (count($billeder) > $offset+$pr_side) {
    $naeste = $offset+$pr_side;
    echo "<a href=\"?offset=$naeste\">Næste</a>";
}
?>
Avatar billede avminarm Juniormester
17. april 2003 - 12:46 #7
schaefner>> ganske fixt ;o)
Avatar billede schaefner Juniormester
17. april 2003 - 19:20 #8
avminarm >> tark ;o)
Avatar billede schaefner Juniormester
17. april 2003 - 19:26 #9
avminarm >> Har du egentlig ICQ?
Avatar billede sesam Nybegynder
18. april 2003 - 19:29 #10
schaefner>> vil du ikke ha' point? lige præcis hvad jeg tænkte på... Super tak for det...
Avatar billede schaefner Juniormester
18. april 2003 - 19:31 #11
Jamen, så lægger jeg da et svar :)

/Jesper Sørensen
Avatar billede avminarm Juniormester
23. april 2003 - 08:37 #12
schaefner>> nej - ingen ICQ her - hvorfor?
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