Fotoalbum, bladeren naar volgende foto

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Milo S

Milo S

27/05/2010 09:03:13
Quote Anchor link
Hallo,

Ik ben bezig met me fotoalbum, deze wil ik opnieuw gaan maken maar dan met een extraatje. Namelijk:
Als je op de thumbnail klikt in de pagina fotoalbums.php moet er een appart schermpje openen met:
- Grote foto
- Prev | Next

Het punt is alleen dat ik echt niet weet hoe ik dit kan maken, ik wil namelijk nog steeds zonder database werken (6) voor mijn fotoalbum, omdat ik het onzinnig vind een tabel vol te stampen met afbeelding namen etc terwijl je ze zo recht uit een map kan plukken.

Ik heb nu dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
// Als album is geselecteerd
if(!isset($_GET['map']))
{

    $map = 'PAGINAS/ALBUMS';
}

else
{
    $map = $_GET['map'];
}

// Als foto is geselecteerd
if(isset($_GET['foto']))
{

    $foto = $_GET['foto'];
}



$thumb = 'thumb';
$link = 'http://localhost/New%20Foto%20Album/';
$width = 768;
$height = 512;
$huidige_ext = strtolower(substr($foto, -3));
$ext = array('jpg', 'jpeg', 'bmp', 'gif', 'png');


// dir openen en file in array gooien
if($open = opendir($map))
{

    while(($file = readdir($open)) !== false)
    {

        if($file != '.' && $file != '..' && $file != $thumb && in_array(strtolower(substr($file, -3)), $ext) || in_array(strtolower(substr($file, -4)), $ext))
        {
            
            $foto_lib[] = $file;
        }
    }
    
closedir($open);
}


$aantal = count($foto_lib);

echo '<img style="width:'.$width.'; height:'.$height.'" src="'.$link.'/'.$map.'/'.$foto.'" /><br />';

if($foto != 1)
{

    $prev = $foto - 1;
    echo '<a href="?map='.$map.'&foto='.$prev.'.'.$huidige_ext.'">Prev</a>';
}


echo ' - ';

if($foto != $aantal)
{

    $next = $foto + 1;
    echo '<a href="?map='.$map.'&foto='.$next.'.'.$huidige_ext.'">Next</a>';
}

?>


Zoals jullie begrijpen, zitten hier enkele problemen aan:
- Foto namen moeten getallen zijn :S.
- En de extensie moet in de gehele map hetzelfde zijn.
Nu is het laatste het probleem niet dat heb ik zo gefixed maar dan heb ik nog probleem 1, kunnen jullie mij op weg helpen?
Gewijzigd op 27/05/2010 16:11:48 door Milo S
 
PHP hulp

PHP hulp

22/11/2024 10:32:33
 
Jelmer -

Jelmer -

27/05/2010 09:14:08
Quote Anchor link
$foto_lib is een lijst met alle foto's toch? Wat nu als je niet volgende en vorige doet op basis van de naam van de foto, maar op basis van de positie in die lijst $foto_lib? Dan kan $foto een nummer zijn (de index van $foto_lib)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

$aantal
= count($foto_lib);

echo '<img style="width:'.$width.'; height:'.$height.'" src="'.$link.'/'.$map.'/'.$foto_lib[$foto].'" /><br />';

if($foto != 1)
{

    $prev = $foto - 1;
    echo '<a href="?map='.$map.'&foto='.$prev.'">Prev</a>';
}


echo ' - ';

if($foto != $aantal)
{

    $next = $foto + 1;
    echo '<a href="?map='.$map.'&foto='.$next.'">Next</a>';
}

?>
 
Elwin - Fratsloos

Elwin - Fratsloos

27/05/2010 09:47:05
Quote Anchor link
Je zou voor de pop-up gebruik kunnen maken van een van de vele Lightbox-scripts die er zijn. Er zijn ook enkele die verschillende albums (mappen) binnen één pagina ondersteunen. Zit ook al vorige/volgende in en het is te bouwen met het uitlezen van mappen.
 
Alexander Polak

Alexander Polak

27/05/2010 10:43:03
Quote Anchor link
Ik neem aan dat flash geen optie is?
Een andere benadering misschien ook een optie?
kijk een op mijn foto site polafoto.nl
 
Andy De Clercq

Andy De Clercq

27/05/2010 14:23:16
Quote Anchor link
Zelf ben ik ook aan het nadenken over een dergelijk systeem en denk ik van ongeveer als volgt te werken.
Eerste bestand thumbnails.php waarin de thumbnails worden getoond via het doorlopen van een dir.
Maar dit zou ik dan wel combineren met een functie die de namen van de bestanden in getallen omzet. Vervolgens zou ik via explode de bestandsnaam (getal)zonder extensie in een variabele gooien en daarna kun je deze variabele gemakkelijk verhogen of verminderen.
Maar dit is gewoon hoe ik denk van te werken, dit plan moet nog worden uitgeschreven. Momenteel ben ik nog een script aan het schrijven om de gebruiker het geheel te laten uploaden.
 
Milo S

Milo S

27/05/2010 15:57:57
Quote Anchor link
@ Jelmer,
Ik snap wat jij bedoelt en dan heb ik eigenlijk antwoord nodig op 1 vraag, kan hem zo snel niet vinden.

Stel je hebt de volgende array:
$foto = array(vakantie001', 'vakantie002', 'vakantie003');

Hoe weet ik dan dat als hij de foto vakantie002 laat zien welk nummer hij heeft:
Reeks
(
[0] => vakantie001
[1] => vakantie002
[2] => vakantie003
)
Dus hoe kom ik er achter dat 002 nummer 1 heeft?
 
Jelmer -

Jelmer -

27/05/2010 16:15:59
 
Milo S

Milo S

27/05/2010 16:18:00
Quote Anchor link
Whoops had hem net gevonden ;)
 
Andy De Clercq

Andy De Clercq

27/05/2010 18:19:36
Quote Anchor link
Dit is ook het systeem dat ik van plan was. Maar eerlijk gezegd hebben jullie hier een eenvoudiger systeem, dus al direct een verbetering van mijn plan.
Hartelijk dank daarvoor!
 
Milo S

Milo S

27/05/2010 19:12:48
Quote Anchor link
Heb nu wel voor elkaar dat hij de knoppen laat zien op de juiste momenten, maar nu moet die knop ook nog actief worden.
Dus ik maak automatisch een array:
array
(
[0] => Photo (1)
[1] => Photo (2)
[2] => Photo (3)
[3] => Photo (4)
[4] => Photo (5)
)

En laat knoppen zien, maar als ik dan de vorige foto wil hoe pak ik dan heel simpel de naam van die foto met de key?
Dus als ik dan oproep key = 3 dan wil ik als uitput krijgen: Photo (4)
Weet iemand hoe?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.