foto's per pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Lowies Jansen

Lowies Jansen

20/04/2011 14:27:47
Quote Anchor link
Hallo wie kan mij uitleg geven hoe ik een script kan maken die de map uploads uitleest en dan 3 foto's per pagina weergeeft.........
 
PHP hulp

PHP hulp

06/05/2024 00:23:45
 
B a s
Beheerder

B a s

20/04/2011 14:29:41
Quote Anchor link
Ik denk door even te zoeken voordat je vraagt.
 

20/04/2011 14:31:34
Quote Anchor link
misschien is dit wat


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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?PHP

$DirPath
="../images/";

$mydir_list="";

if (($handle=opendir($DirPath)))

{


$files = array();

$times = array();

 while ($node = readdir($handle))

 

 {


     $nodebase = basename($node);

     if ($nodebase!="." && $nodebase!="..")

     {


         if(!is_dir($DirPath.$node))

         {


$pos = strrpos($node,".jpg");

            if($pos===false){

   }


  

else{

    //export to xml

    $filestat = stat($DirPath.$node);

    $times[] = $filestat['mtime'];

    $files[] = $DirPath.$node;

    //$mydir_list.="<img src=\"".$DirPath.$node."\" />\n";

    array_multisort($times, SORT_NUMERIC, SORT_DESC, $files);

    



}

}

     }

 }

}


foreach($files as $file) { $mydir_list.="<image src=\"".$file."\" />\n"; }

echo $mydir_list;



?>
Gewijzigd op 20/04/2011 14:32:02 door
 
Lowies Jansen

Lowies Jansen

20/04/2011 14:33:12
Quote Anchor link
ja is wel mooi maar wat ik graag wil is dat ik zelf snap hoe ik het moet bouwen
 
Ozzie PHP

Ozzie PHP

20/04/2011 14:39:08
Quote Anchor link
Bas Kreleger op 20/04/2011 14:29:41:
Ik denk door even te zoeken voordat je vraagt.
Van de 'eigenaar' van dit forum zou ik toch een iets (klant)vriendelijker antwoord verwachten... maar goed wie ben ik.

Ik zie het al voor me als ik bij een autodealer kom. "Dag meneer de verkoper ik zou graag een mooie, snelle, nieuwe auto kopen met een cilinderinhoud van minimaal 2 liter." De verkoper: "Ja, ga zelf eerst maar even zoeken in onze showroom meneer. Bij iedere auto ligt een kaartje achter de ruit met daarop de specificaties."

Ik zou er toch vreemd van opkijken... maar misschien ben ik wel een beetje bevooroordeeld en komt het omdat ik in het verleden meerdere malen om je reactie heb gevraagd met betrekking tot cruciale vragen... en niet alleen ik overigens... en je op zulke momenten niet (nooit) thuis geeft, maar nu op een vraag van een nieuwe gebruiker wel ineens acte de presence geeft. En dan met zo'n jammerlijke opmerking.

Ach, waarom zeg ik dit ook allemaal... ik bedoel het allemaal best goed hoor... denk ik.

Toevoeging op 20/04/2011 14:40:13:

@Lowies, kijk eens naar de functie glob

www.php.net/glob
 
Lowies Jansen

Lowies Jansen

20/04/2011 15:02:13
Quote Anchor link
sorry dat ik miss soms niet helemaal goed reageer maar ik ben net met php aan de slag en wil graag begrijpen wat ik doe zit wel te kijken in de link en zie ook wel mooie scripts die ik kan gebruiken maar dan nog snap ik zelf niet hoe ik het moet bouwen...........
 
Vincent Huisman

Vincent Huisman

20/04/2011 15:09:52
Quote Anchor link
begin dan met iets simpelers, bijvoorbeeld een mini rekenmachine ofzo
 
- Mark -

- Mark -

20/04/2011 15:17:02
Quote Anchor link
wat foto's ophalen en verdelen over een aantal pagina's is ook niet zo moeilijk hoor.

Gewoon bij het begen beginnen. Je kunt zoals Ozzie al zegt het beste glob() gebruiken om alle afbeeldingen uit een map te halen. Dit is maar een paar regels code. zodra dat lukt kun je het script verder uitbouwen naar wens. Als je op die manier te werk gaat dan is het ook direct een stuk duidelijker wat een regel code doet.

PS het verdelen van items over verschillende pagina's heet pagination.
 
Lowies Jansen

Lowies Jansen

20/04/2011 15:42:34
Quote Anchor link
ik zal is kijken hoever ik kom met glob().
Kom ik er niet uit zal ik het ff laten horen hier

Toevoeging op 20/04/2011 16:06:19:

Wat ik nu gemaakt heb laat alle foto's zien uit de map uploads maar het kwartje valt nog niet erch..........
moet ik nu in deze while loop een count doen....
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$path
= 'uploads';

if ($dir = opendir($path)) {
    while (false !== ($file = readdir($dir))) {
       echo "$file<br>";
    }

    closedir($dir);
}

?>
 
- Mark -

- Mark -

20/04/2011 16:17:37
Quote Anchor link
Ik weet niet waar je dat nu weer vandaan hebt maar dat werkt dus niet met glob.

Anyway je weet wat een array is?

PS wat voor extensie hebben je afbeeldingen? allemaal verschillende of 1 en dezelfde?
 
Lowies Jansen

Lowies Jansen

20/04/2011 16:22:04
Quote Anchor link
jpg maar ook gif en png
 
- Mark -

- Mark -

20/04/2011 16:29:50
Quote Anchor link
Als het goed is krijg je nu een array met daarin alle afbeeldingen. een lege array als er niets is gevonden of false als er iets is fout gegaan.

Je kunt er met foreach doorheen lopen om de afbeeldingen weer te geven.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    # Foto's ophalen.
    
        $images = glob('uploads/*.{jpg,gif,png}', GLOB_BRACE);
?>
Gewijzigd op 20/04/2011 16:31:01 door - Mark -
 
Lowies Jansen

Lowies Jansen

20/04/2011 16:46:11
Quote Anchor link
Door dit toe tevoegen krijg ik alle files op de pagina.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach ($images as $files) {
    echo "$files<br />\n";
}

?>


Maar hoe kan ik nu zorgen dan dat ik er maar 3 per pagina krijg.
 
- Mark -

- Mark -

20/04/2011 16:54:58
Quote Anchor link
Dan komen we op het pagination stuk.

Onderstaande is uit het hoofd dus er kunnen fouten in zitten.

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
<?php


    # Foto's ophalen.
    
        $images = glob('uploads/*{.jpg,.gif,.png}', GLOB_BRACE);
        
        
    # Foto's per 3 verdelen over meerdere pagina's.
    
        $pages = array_chunk($images, 3);


    # Het totaal aantal foto's en pagina's tellen en laten zien.
    
        echo 'We hebben in totaal '.count($images).'gevonden, deze hebben we per 3 over '.count($pages).' pagina\'s verdeeld';
        
    
    # Foto's 1st pagina weergeven.
    
        foreach($pages[0] as $img){
            
            echo $img;
        }


?>


Het is natuurlijk niet de bedoeling dat je elke pagina er hard coded in gaat zetten. Maar daar mag je eerst zelf even op verder knutselen.

LET OP! Er zit nog geen fout afhandeling in.
Gewijzigd op 20/04/2011 17:10:27 door - Mark -
 
Lowies Jansen

Lowies Jansen

20/04/2011 17:06:08
Quote Anchor link
begint nu iets te dagen maar hij ziet maar 6 foto's en er staan er 14 in.........
 
- Mark -

- Mark -

20/04/2011 17:11:37
Quote Anchor link
alleen de jpg's zeker? ik heb het iets aangepast. de spaties kunnen een probleem vormen in het gedeelte tussen de {}.
 
Lowies Jansen

Lowies Jansen

20/04/2011 17:17:57
Quote Anchor link
goeie tip zonder de spaties ziet hij er wel 14 .
Nu moet ik dus zorgen voor pagina systeem zal is goed gaan denken daarover.......
Maar door je uitleg wordt het al wel helderder voor me
 
- Mark -

- Mark -

20/04/2011 17:51:35
Quote Anchor link
Je weet hoe je de andere pagina's kunt oproepen of niet? als je in de foreach de 0 naar 1 veranderd krijg je pagina 2 te zien. Je kunt gaan tot het totaal aantal pagina's - 1. Dit komt omdat je bij een array met 0 begint en niet met 1.
Gewijzigd op 20/04/2011 17:52:06 door - Mark -
 
Lowies Jansen

Lowies Jansen

20/04/2011 18:02:36
Quote Anchor link
Ja die snap ik maar zit nu te denken hoe ik nu eronder de pagina nummers krijg.......
 
- Mark -

- Mark -

20/04/2011 18:09:17
Quote Anchor link
Het is denk ik ook beter om eerst een stapje terug te gaan. Ik heb de fout afhandeling eruit gelaten omdat ik niet weet hoe dat werkt op jouw website. Maar dat is eigenlijk het belangrijkste en zou als eerste moeten.

Je moet het gedeelte er nog inbouwen dat controleerd of er niets fout is gegaan tijdens het ophalen van de afbeeldingen en of er wel iets is gevonden. Een lege array maakt voor de array_chunk() / foreach lus niets uit maar als er niets is gevonden dan bevat $images false en dan ga je foutmeldingen krijgen. Deze moeten dus voorkomen worden.

Ik neem aan dat je iets wilt alse ?page=1 enz in de adres balk?
 
Lowies Jansen

Lowies Jansen

20/04/2011 18:16:40
Quote Anchor link
ja of onder de foto's als ik nu de pages verander krijg ik ook mooi de goeie foto's dus dat werkt al goed.
 

Pagina: 1 2 volgende »



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.