Avatar billede cmau Nybegynder
05. januar 2007 - 17:06 Der er 2 kommentarer og
1 løsning

Sortering af udskrivning af filer

Hej Eksperter

Jeg har været ved at lave et system som udskriver billeder fra en mappe. Jeg har allerede en kode, men nu udskriver den således:

1 (1).JPG
1 (10).JPG
1 (11).JPG
1 (12).JPG
1 (13).JPG
1 (14).JPG
1 (15).JPG
1 (16).JPG
1 (17).JPG
1 (19).JPG
1 (2).JPG
1 (20).JPG
1 (21).JPG
1 (22).JPG
1 (23).JPG
1 (24).JPG
1 (25).JPG
1 (26).JPG
1 (27).JPG
1 (28).JPG
1 (29).JPG
1 (3).JPG

Som i kan se skriver den ikke 1,2,3,4 osv først, men alle med 1 ført. Hvordan kan jeg få den til at tælle op.

Det skal siges at billederne kan hedde alt muligt forskelligt.

Grunden til at den skal udskrive rigitgt er at vi har lavet en fest side med billeder og hvis vi så tilføjer billederne hulter til bulter er det ikke sjovt at se der hvor man går under først. Man vil have det kronologisk.

MIn kode er :
$dir = 'UPLOAD_BILLEDERNE_HER';
    if(is_dir($dir)) {
        $handle = opendir($dir);
        while (false !== ($file = readdir($handle))) {
            if((substr($file, -4) == '.jpg') || (substr($file, -5) == '.jpeg') || (substr($file, -4) == '.JPG') || (substr($file, -5) == '.JPEG')) {
                if (($file != '.') && ($file != '..')) {
                    echo $file.'<br>';
                }
            }
        }
        closedir($handle);
Avatar billede coderdk Praktikant
05. januar 2007 - 17:25 #1
Prøv:

    $dir = 'UPLOAD_BILLEDERNE_HER';
    if(is_dir($dir))
    {
        $handle = opendir($dir);
        $res = array();
        while (false !== ($file = readdir($handle)))
        {
            if((substr($file, -4) == '.jpg') || (substr($file, -5) == '.jpeg') || (substr($file, -4) == '.JPG') || (substr($file, -5) == '.JPEG'))
            {
                if (($file != '.') && ($file != '..'))
                {
                    $res[] = $file;
                }
            }
        }
        closedir($handle); 
        natsort($res);
        foreach( $res as $file )
        {
            echo "$file<br>";
        }
    }
Avatar billede cmau Nybegynder
05. januar 2007 - 17:34 #2
Nice det virker, men kan du fortælle hvilken funktion der gør tricket?
Avatar billede coderdk Praktikant
05. januar 2007 - 17:58 #3
Jeg gemmer alle filnavnene i et array ($res) og bruger natsort() til at sortere dem i naturlig orden :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging