webForumDet fria alternativet

Sortera filer - Olika resultat på olika servrar?

PHP

2 svar · 433 visningar · startad av Quid

Medlem sedan juni 20006 022 inlägg
Frågan#1

Jag har skrivit ihop en liten kodsnutt som läser in, sorterar och skriver ut filnamn:

<?php
$files = array();
if ($handle = opendir('./')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != "index.php") {
            $files[] = $file;
        }
    }
    closedir($handle);
}

sort($files);

foreach($files as $file) {
   echo $file . "<BR>";
}
?>

Problemet är att den sorterar olika på mina två servrar. På min windowsmaskin med iis får jag först alla filer med stor bokstav i bokstavsordning överst, sen resten. På linuxmaskinen så listan alla filer i bokstavsordning oavsett storlek, vilket är rätt.

Är det vanligt att samma kod ger olika resultat på olika servrar?

Medlem sedan juni 20014 290 inlägg
#2

Prova natcasesort() funktionen om den fungerar bättre.

Medlem sedan juni 20006 022 inlägg
#3

Lysande, tack för hjälpen!

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)