weergeven data van multisort_array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter maaswinkel

peter maaswinkel

09/11/2009 23:11:00
Quote Anchor link
Onderstaande code gebruik ik momenteel om een lijst te verkrijgen van de afbeeldingen binnen een bepaalde dir. Om de bestanden om tijd te sorteren maak ik gebruik van array_multisort.

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

$dir
= './';
$filepattern = 'cam*.jpg';
$sorting_list = array();
$filemtimes = array();

# Get file/dir listing, else error message
if ( ( $list = glob( $dir . $filepattern ) ) !== false ) {

        foreach ( $list AS $file ) {

                $filemtime = filemtime( $dir . $file );

                # Build array to be sorted with filename and filemtime
                $sorting_list[] = array('filename' => $file,
                                        'filemtime' => $filemtime,
                                        );


                # This is the list of filemtimes to sort by later
                $filemtimes[] = $filemtime;

        }


        # Sort array based on $filemtimes
        # http://php.net/array-multisort     Example #3

        
        if ( array_multisort($filemtimes, $sorting_list) ) {
             $curimage=0;
            while(list($key, $val) = each($sorting_list)){
            while(list($key2, $val2) = each($val)){
            echo 'galleryarray['.$curimage.']="'.$val2 .'";</br>';
            $curimage++;}
            }
        }
else {
                echo "List was not sorted by filemtime\n";
        }

        
        //var_dump($sorting_list);
        

} else {

        echo 'Directory listing call failed!';

}


?>


Het resultaat van dit script is als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
galleryarray[0]="./cam41.jpg";
galleryarray[1]="1257766214";
galleryarray[2]="./cam42.jpg";
galleryarray[3]="1257766508";
galleryarray[4]="./cam43.jpg";
galleryarray[5]="1257766804";
galleryarray[6]="./cam44.jpg";
etc.....


De regels met de image bestanden wil ik alleen behouden, alleen krijg ik het na zoeken op internet niet voor elkaar om alleen deze weer te geven zonder dat de timestamp ook als resultaat naar voren komt...

Is er iemand die ziet wat ik fout doe in het 'while' statement of wat ik fout doe?

Alvast bedankt!!
 
PHP hulp

PHP hulp

24/11/2024 11:54:57
 
Gerben G

Gerben G

09/11/2009 23:56:00
Quote Anchor link
Ik zie zo niet wat je fout doet, maar je kunt met substr() kijken of de waarde in de array eindigt met .jpg. Als dit zo is, kun je hem bijvoorbeeld in een nieuwe array gooien.
 
Sven

Sven

02/12/2009 09:50:00
Quote Anchor link
Hoi Peter,

Handige post, precies wat ik zocht. Ik gebruik dit php bestandje om een javascript array aan te maken en zo foto's te wisselen op mijn website als zijnde streaming camera beeld. Alleen vanwege de toegevoegde timestamp in de array is er om het beeld een lege plek.

Heb je toevallig al een oplossing gevonden? Indien ik iets gevonden krijg laat ik het ook weten.
 



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.