Avatar billede dragonbook Nybegynder
08. september 2007 - 19:48 Der er 11 kommentarer og
1 løsning

Simpelt forrige og næste

Jeg er ved at lave et simpelt billed system hvor et billede vises på en side i fuld størrelse. Hertil skal det være muligt at trykke på to links, henholdsvis Forrige og Næste.

Hvis vi siger at jeg har følgende billeder i mappen: Billeder

anders.jpg
benny.jpg
erik.jpg
frans.jpg
hans.jpg

jeg åbner nu billedet erik.jpg via: billed.php?fil=erik.jpg

Jeg vil nu gerne havde scriptet til automatisk at linke til:
Forrige: <a href="billed.php?fil=benny.jpg">Forrige</a>
Næste: <a href="billed.php?fil=frans.jpg">Næste</a>

Hvis filen der er åbnet er hans.jpg skal der intet link være til næste.
Hvis filen der er åbent er anders.jpg skal der intet link være til forrig.

Dvs. et script der kan læse billeder fra en mappe og finde ud af hvilken fil der er før og efter.

Nogen der kan hjælpe?
Avatar billede nemlig Professor
08. september 2007 - 23:02 #1
Jeg har et færdigt billedsystem, som automatisk laver thumbnails af billederne i mappen.
Se fx. her:
http://fdf.dk/esbjerg1/fotoarkiv/arkiv/moegeloe2007/lordag/fotos/fotothumb.php
Når der klikkes på en thumbnail, vises fotoet i stort format, og der kan vælges "forrige" og "næste" via pile. Hvis det er 1. billede i mappen og der vælges "forrige", så vises thumbnails-oversigten igen og det samme med sidste billede, hvis der vælges næste.
Kan det bruges?
Avatar billede pycoz Nybegynder
09. september 2007 - 01:31 #2
lav en tabel med id og navn på billederne i mysql og så hent dem der.
Avatar billede dragonbook Nybegynder
10. september 2007 - 08:32 #3
nemlig >> Jeg skal ikke bruge et system til at lave en side med thumbs, det har jeg. Det er kun siden med de store billeder jeg har brug for.
Avatar billede showsource Seniormester
10. september 2007 - 08:37 #4
Du indlæser billeder i et array, og kan så bruge array_search() til at finde forrige og næste.
Avatar billede showsource Seniormester
10. september 2007 - 08:47 #5
Som f.eks.

<?php

function get_var($find, $ar, $var="") {

    if(!is_array($ar)) {
    return false;
    }

    $key = array_search($find, $ar);

    if(empty($var)) {
    return @$ar[$key-1];
    }else{
    return @$ar[$key+1];
    }
}

$images = array("dragonbook.jpg", "bent.jpg", "showsource.gif", "juhu.jpg");
$nu = "bent.jpg";

$forrige = get_var($nu, $images);
$naeste = get_var($nu, $images, 1);

echo "Forrige: ". $forrige ." og næste: ". $naeste;

?>

Og så tjekker om $forrige og $naeste er tom, førend du laver et link
Avatar billede dragonbook Nybegynder
10. september 2007 - 09:01 #6
showsource --> Det må være den rigtige metode... Lige et spørgsmål..

Hvordan henter jeg nemmest filnavnene ind i en array til denne linie?
$images = array("dragonbook.jpg", "bent.jpg", "showsource.gif", "juhu.jpg");
Avatar billede showsource Seniormester
10. september 2007 - 09:09 #7
Læser dir igennem for filer?
F.eks.

function visFiler($dir) {

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

    return $out;

}

$images = vis_filer("images/");
Avatar billede showsource Seniormester
10. september 2007 - 09:12 #8
hov,
$images = visFiler("images/");
Avatar billede dragonbook Nybegynder
10. september 2007 - 09:38 #9
Takker det skal jeg lige havde testet...
Avatar billede dragonbook Nybegynder
10. september 2007 - 20:37 #10
Det virker helt fint, mange tak, smid lige et svar showsource så er der point!
Avatar billede showsource Seniormester
11. september 2007 - 09:49 #11
ingen point, ellers tak
Avatar billede dragonbook Nybegynder
11. september 2007 - 10:17 #12
OK... det bestemmer du... Tak for hjælpen
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