14. marts 2006 - 16:52Der er
18 kommentarer og 1 løsning
Pageing ved visning af mappes indhold
Hej
Jeg er ved at lave et galleri. Jeg har foreløbigt lavet et script der kan åbne og vise alle filer i en mappe. Jeg vil gerne have et limit på hvor mange filer der vises. Jeg ved hvordan det kunne laves via noget mysql, men det er ikke det jeg skal bruge da jeg synes det gør det hele lidt mere besværligt ved upload. Mit spørgsmål er derfor om det er muligt at lave pageing ved listning af indhold i en mappe. Dvs. så den tager de første 10 billeder og viser dem, og så kan der gås til næste side og der vises de næste 10.
min kode er foreløbig:
echo "<center><table border='0'>"; echo "<tr>"; $tal=0; if ($handle = opendir("galeri/thumbs/")) { while (false !== ($file = readdir($handle))) {
Du skal i hvert fald starte med at indlæse samtlige filer i et array, herefter skal du sortere dem, evt efter oprettelses dato (filemtime()). Herefter skal du have et offset, hvor det sættes til 0, hvis intet er angivet. Dette offset bruger du så til at trække fil: $offset til og med $offset + 10.
Har et spørgsmål angående, sorteringen i arrayet. Jeg har foreløbig kun gemt filnavnet i et array og så vist billedet. Hvordan gemmes (filemtime()) sammen med navnet i et array og derefter sorteres efter dato? Jeg gemmer sådan her:
if ($handle = opendir("galeri/thumbs/")) { while (false !== ($file = readdir($handle))) {
Problemet med at sortere efter dato kan blive at 2 filer godt kan have samme tid. Du burde evt kigge på glob() den kan gøre det du laver der i en linie.
dvs. de nu ligger som $billeder[2006-xx-xx], vil dette ikke gøre det svært at hente dem ud igen. havde tænkt på et to dimensionelt array. er det muligt ?
Det kan jeg ikke få til at virke. Jeg skal også have printet det ud i en tabel, for at vise flere billeder ved siden af hinanden. (thumbnails). Det er noget med en for løkke, jeg har fået det til at virke med bare at kører over $billeder[$arraytal], hvor arraytal bare en int.
:) Enten skal du så fodre hver fil med et lille stykke unikt... F.eks. unikt = filemtime() . uniqid() Men så kunne du lige så godt gemme filnavnet som key!
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.