Fotogallerij
Ik maak/onderhoud de website bij mijn sportvereniging en nu ben ik bezig met een fotoalbum.
Ik gebruik filezilla om mijn bestanden te uploaden naar mijn hosting.
Het leek me dus wel handig dat wanneer ik foto's upload naar een map dat een script
die foto's automatisch uit die map haalt en als thumbs weergeeft.
Het liefst ook wanneer ik een aparte map in de bestaande directory aanmaak dat hij dat ziet als een album.
Ik weet totaal niet hoe ik hiermee moet beginnen, ik ken een beetje php (knip en plak werk.)
en heb hierdoor ook al heel wat fotoalbum scripts geprobeerd alleen wanneer ik iets wijzig in dat script kreeg ik allerlei foutmeldingen waardoor het een rommeltje werd.
Misschien dat hier iemand van jullie mij op weg kan helpen met een simpele gallerij script.
gr.
Edwin
PS. dit is mijn website tot nu toe http://www.pekelsharks.nl/voorbeeld/
Gewijzigd op 10/02/2013 23:04:31 door Edwin van der Veen
http://php.net/scandir en dat je die met foreach kan doorlopen.
Je zou kunnen kijken naar vergeet dan niet de '.' en '..' bestanden eruit te filteren
INPUT
/tmp/bar.php
/tmp/foo.txt
/tmp/somedir/...
SCRIPT
OUTPUT
Ik heb een map fotoalbum met daarin dus dit script en een map genaamd fotos.
nu geeft dit script de foutmelding
Warning: scandir(/fotos) [function.scandir]: failed to open dir: No such file or directory
Dus waarschijnlijk klopt mijn $dir niet alleen weet niet waar ik het dan heen moet leiden.
kijk eens naar de werking van foreach()...
fotoalbum
- gallerij.php
- fotos
Ik ga kijken naar de foreach alleen klopt mijn directory wel ?
De opbouw wel....
ik snap de uitleg van de foreach niet helemaal, ik neem aan dat de foreach kijkt naar welke bestanden er in de array zit ? en dat vervolgens onder verdeeld in een $value en een $key alleen waar vind hij die 2 waarden.
Pseudocode ter illustratie:
Code (php)
1
2
3
4
2
3
4
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
statement
foreach (array_expression as $key => $value)
statement
Hij kan dus alleen een value meegeven, zoals in het eerste voorbeeld, waar bij zeker wat aan hebt. Maar ook de indexes, de in dit geval genummerde values. Hier heb je nu weinig aan...
Gewijzigd op 10/02/2013 23:54:02 door - Ariën -
het spijt me echt als ik lastig ben, maar probeer het echt te begrijpen.
In $value staat de waarde van de elementen uit de array, de filenames die je wilt ophalen. Deze echo je in je foreach() { statement
De naam value zegt het al, de 'waarde' Wat lijn 7 doet snap ik niet zo. Echo eens $value, en zie wat er gebeurt.
PS: Voor echo zijn geen () nodig, het is officieel geen functie. Ook 'or die()' is geen goede foutafhandeling. met is_dir() kan je controleren of een directory bestaat.
alleen in fotos staat een mapje genaamd U18 met fotos ik wil dus dat hij de fotos van dat mapje ook uitleest en niet alleen U18 laat zien
zie uitkomst: www.pekelsharks.nl/voorbeeld/fotoalbum/gallerij.php
Het is wel belangrijk dat je hetgeen je aan code - al dan niet met hulp - schrijft ook snapt. Anders dan blijft het eeuwig emmeren! In php bestaan er twee soorten arrays:
- de gewone numerieke arrays
- de associatieve arrays
Ik verwijs je toch ook even naar het hoofdstuk arrays van phptuts: http://www.phptuts.nl/view/39/6/
Dan nu je script geeft nu simpel de naam van de bestanden in de directory fotos weer. in plaats van die namen willen we natuurlijk de foto's weergeven. toch?
Dit kun je bereiken door op regel 9 niet de bestandsnaam te echoën maar door HTML te echoën.
bijvoorbeeld: