Avatar billede a-zartie Nybegynder
16. november 2003 - 11:15 Der er 2 kommentarer og
1 løsning

Liste alle filer i et dir der begynder med noget bestemt

Jeg skal bruge noget i retning af nedenstående, men er rimelig på bar bund.
Jeg skal have lavet den om så den fx. kun lister filer der fx starter med A. Skal man bare smide en
&& substr($file_name,0,1) == "A"
ind i if'en, eller er der en smartere løsning?

while($file_name = readdir($dir)){
  if($file_name != "." && $file_name != ".."){
    $fName = "$dir_name/$file_name";
  }
}
Avatar billede htm Nybegynder
16. november 2003 - 11:35 #1
Med dette script lister den alle filer og mapper der begynder med a eller A.

<?php
//Config
//Dirroot i forhold til det bibliotek som scriptet her befinder sig i
$dirroot = "../";
//Din document root som din fillistning begynder i
$documentroot = "d:/webdesign";

//script
if (!isset($_GET["dir"]) || empty($_GET["dir"])) {
    $dirname = $dirroot;
}
else {
    $dirname = $dirroot . $_GET["dir"];
}

$path = $dirname;
$path = realpath($path);
$path = eregi_replace("[\\]","/",$path);
$path = eregi_replace($documentroot,"",$path);

function getDirList($dirname,$path) {
    $d = dir($dirname);
    while($entry = $d->read()) {
        if ($entry != "." && $entry != ".." && ereg("^[a|A]",$entry)) {
            if (is_dir($dirname."/".$entry)) {
                echo "<a href=\"list.php?dir=" . $path . "/". $entry . "\">" . $entry . "</a><br>\n";
            }
        }
    }
    $d->close();
}

function getFileList($dirname,$path) {
    $d = dir($dirname);
    while($entry = $d->read()) {
        if ($entry != "." && $entry != ".." && ereg("^[a|A]",$entry)) {
            if (is_dir($dirname."/".$entry)) {
            }
            else {
                echo "<a href=\"view.php?view=" . $path . "/". $entry . "\">" . $entry . "</a><br>\n";
            }
        }
    }
    $d->close();
}

echo "<b>Mapper:</b><br>\n";
getDirList($dirname,$path);
echo "<br>\n<b>Filer:</b><br>\n";
getFileList($dirname,$path);

?>
Avatar billede schaefner Juniormester
16. november 2003 - 11:58 #2
if ($entry != "." && $entry != ".." && eregi("^a",$entry)) {
Avatar billede htm Nybegynder
16. november 2003 - 12:01 #3
schaefner>> doooh - tænkte mig overhovedet ikke om. Selvfølgelig kan man bruge eregi i stedet for ereg. Gør det vist nemmere :-)
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