[PHP] Eerste foto van een map uitlezen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ben

Ben

21/08/2007 12:29:00
Quote Anchor link
Hallo allemaal,

Ik ben bezig met de website van onze vriendengroep maar ik wil het fotoalbum-gedeelte zo onderhoudsvrij mogelijk maken. Ik ben al aardig op weg maar ik loop vast op 1 klein, vermoedelijk, simpel ding.

Ik lees met onderstaand script alle mappen in de map 'albums' uit. Vervolgens wil ik eigenlijk alleen maar het 1e bestand (een foto, niet ., .. of Thumbs.db) in een array hebben staan. Deze wil ik gebruiken als een thumbnail.

Ik krijg op dit moment van elke submap alle bestanden.

Mijn vraag is hoe ik alleen het eerste bestand kan uitlezen? Ik heb al verschillende pogingen gewaagd door een counter toe te voegen, met for-lussen gestoeid maar voor alsnog kom ik er niet uit.

Iemand een suggestie?

Mijn code:

<img src="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $basePath ?>
/afb/cnt_hdr_fotoalbums.gif"/>
<div id="cntContainer">
<p>
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
<?
                            /**
                            *    Album mappen en fotos uitlezen en opslaan in juiste array
                            **/

                            $albums = "./albums/";
                            
                            if($openDir = opendir($albums)){
                                while(false !== ($albumDir = readdir($openDir))){
                                    if($openAlbumDir = opendir($albums.$albumDir)){
                                        if($albumDir != "." && $albumDir != ".."){
                                            if(is_dir($albums.$albumDir)){
                                                while(false !== ($albumFotos = readdir($openAlbumDir))){                                                                                                        
                                                    if($albumFotos != "." && $albumFotos != ".." && $albumFotos != "Thumbs.db"){                                                        
                                                        $albumData[] = array("map"=>$albumDir, "foto"=>$albumFotos);                                                                                                                                                                                
                                                    }                                                                                                
                                                }
                                            }
else {
                                                echo "SiteManager kon de fotoalbum submap niet openen.";
                                            }    
                                        }
                                    }                            
                                }
                            }
else {
                                echo "SiteManager kon de fotoalbums map niet openen.";
                            }

                            
                            $albumCount = count($albumData);
                            sort($albumData);
                            /**
                            *    Toon albumnamen en thumbnail
                            **/

                            
                            for($x = 0; $x < $albumCount; $x++){
                                echo $albumData[$x]["map"]."/";
                                for($fotoCount = 0; $fotoCount < 1; $fotoCount++){
                                    echo $albumData[$x]["foto"]."<br/>";
                                }
                            }

                        ?>

</p>
</div>
 
PHP hulp

PHP hulp

05/11/2024 15:39:44
 
Bart van der veen

bart van der veen

21/08/2007 12:34:00
Quote Anchor link
sloop de while eruit denk ik, of vraag gewoon de eerste op:
 
Ben

Ben

21/08/2007 12:35:00
Quote Anchor link
Als ik die while er uit haal lees ik die map niet meer uit. En krijg ik helemaal geen resultaten.
 
Bart van der veen

bart van der veen

21/08/2007 12:41:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
//speel hier eens mee, mooi is het niet maar het werkt waarschijnlijk

if(is_dir($albums.$albumDir)){
$q=0; // iest op nu zetten
while(false !== ($albumFotos = readdir($openAlbumDir))){                                                                                                        
if($albumFotos != "." && $albumFotos != ".." && $albumFotos != "Thumbs.db" || $q>=1){ //controleren of hij niet de 1 al gepasseerd is                                
   $albumData[] = array("map"=>$albumDir, "foto"=>$albumFotos);  
   $q++;  // de eerste keer er 1 van maken                                                                                                                                                  
}                                                                                                
}

?>


edit typo
Gewijzigd op 01/01/1970 01:00:00 door bart van der veen
 
Ben

Ben

21/08/2007 12:48:00
Quote Anchor link
Bedankt voor je suggestie maar ook dit mag niet baten. Het script negeert $q volkomen. Geen verschil of ik $q>=1 of bijvb $q>=5 invoer.
 
Bart van der veen

bart van der veen

21/08/2007 12:56:00
Quote Anchor link
en gewoon de eerste opvragen, een array maken is niet zo heel bijzonder voor php
 



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.