Avatar billede vincze Nybegynder
29. juli 2003 - 13:23 Der er 7 kommentarer og
2 løsninger

Hvilke filer ligger i et directory

Hej med jer

Kan det i PHP lade sig gøre at finde alle filnavnene som er i en mappe - og fx hente dem ind i et array. Jeg kunne forestille mig at der måske findes en standardfunktion som returnerer alle filnavnene i et directory ind i et array, men jeg har ledt ALT for længe på PHP.net efterhånden og håber nu at de kloge hoveder herinde kan vise mig lyset!

God sommer!

- Vincze
Avatar billede TRoXa Novice
29. juli 2003 - 13:26 #1
<?php
$dir = "/tmp/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            print "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
    closedir($dh);
    }
}
?>
Avatar billede tipsen Nybegynder
29. juli 2003 - 13:27 #2
http://dk.php.net/manual/en/ref.dir.php

Den funktion du efterspørger hedder scandir(), men er desværre først tilgængelig i php5 (http://dk.php.net/manual/en/function.scandir.php)

Ellers kan du bruge readdir() (http://dk.php.net/manual/en/function.readdir.php)

Eksempel fra siden:
<?php
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo "$file\n";
        }
    }
    closedir($handle);
}
?>
Avatar billede TRoXa Novice
29. juli 2003 - 13:27 #3
det var så ment som et svar :)
Avatar billede tipsen Nybegynder
29. juli 2003 - 13:28 #4
En anden fed funktion som er tilgængelig fra v. 4.3 er glob() - se: http://dk.php.net/manual/en/function.glob.php
Avatar billede TRoXa Novice
29. juli 2003 - 13:33 #5
og hvis du vil have dem ind i et array ..

<?php
$dir = "/tmp/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            filer[] = $file;
        }
    closedir($dh);
    }
}
?>
Avatar billede TRoXa Novice
29. juli 2003 - 13:33 #6
hov hehe ..

<?php
$dir = "/tmp/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            $filer[] = $file;
        }
    closedir($dh);
    }
}
?>
Avatar billede gonza.dk Nybegynder
29. juli 2003 - 13:35 #7
Avatar billede vincze Nybegynder
29. juli 2003 - 15:14 #8
Jeg er på banen og I får 50 point hver...
I kom jo næsten samtidig.

God sommer
Avatar billede tipsen Nybegynder
29. juli 2003 - 15:32 #9
takker - og en anden gang kan du for min skyld godt nøjes med færre 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