Avatar billede matfri Nybegynder
10. marts 2008 - 17:28 Der er 7 kommentarer

Optimal hentning af filer i mappe

Jeg har oprettet følgende funktion:

function show_files($path){
    if($handle = opendir($path)){
        while(false !== ($file = readdir($handle))){
            $files[] = $file;
        }
    }
    closedir($handle);
    return $files;
}

Jeg er blevet i tvivl om den kan håndtere mange filer, hvis der nu fx ligger 1000 filer i mappen, er den så hurtig nok til at hente dem frem? Vil det være mere optimalt at lave en tabel i mysql som indeholder alle informationer om filerne?

Hilsen
Martin
Avatar billede dcheng Novice
11. marts 2008 - 14:20 #1
Hvis filerne er statiske altid, så vil jeg nok vælge at smide dem ind i en database, men hvor store er filerne og hvad forbindelse skal det bruges til (hvis man må få det at vide)
Avatar billede matfri Nybegynder
11. marts 2008 - 15:04 #2
Filerne variere mellem 1B til 12 MB. Det består af mange filer, og der bliver hele tiden tilføjet, så der kommer flere og flere. Men det er bekymre mig lidt er om funktionen readdir() er lige så hurtig som Mysql, eller det  er på marginalerne?

Det er deling af filer til en større rapport, i forbindelse med forskning.
Avatar billede olebole Juniormester
11. marts 2008 - 15:06 #3
<ole>

Jeg er ret overbevist om, at et MySQL opslag er langt hurtigere

/mvh
</bole>
Avatar billede olebole Juniormester
11. marts 2008 - 15:16 #4
Hvis du lister mappen og udtrækker informationer om hver enkelt fil, hvergang du skal bruge info om filerne, må det nødvendigvis være voldsomt meget langsommere, end én gang for alle at smide info i en DB - og senere slå dem op dér.

Eksemplet, du viser i spørgsmålet, er jo kun begyndelsen på den proces, der skal gentages ved hver forespørgsel. Derefter skal du først til at hente informationerne  :)
Avatar billede dcheng Novice
11. marts 2008 - 15:17 #5
"Det er deling af filer til en større rapport, i forbindelse med forskning."
Har du prøvet SVN? Det ved nok allerede hvad det er, men ville lige være sikker på du ved det. Men ok hvis det ikke er læsbart i en alm text editor så hjælper det nok ikke så meget med SVN...

Men jeg vil nok klart vælge database, da det jo alt andet lige er meget nemmere at håndtere.
Avatar billede dcheng Novice
11. marts 2008 - 15:19 #6
Klart hvad ole siger... side bemærkning du glemte <ole> </bole>... tsk tsk :P
Avatar billede matfri Nybegynder
11. marts 2008 - 18:00 #7
Ok, tror jeg holder mig til databasen, så går det nok aldrig helt galt.:)
Vil I(olebole og dcheng) ikke lige svare, så I kan få point?
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