Avatar billede mccookie Seniormester
22. juni 2007 - 15:43 Der er 5 kommentarer og
2 løsninger

is_dir() syntes at virke omvendt!

if($dir = opendir($_SERVER['DOCUMENT_ROOT'] . "/modules/"))
    {
        while(false !== ($file = readdir($dir)))
            {
                if(is_dir($file))
                    {
                        echo $file . "<br>";
                    }
            }   
    }

closedir($dir);

Så viser den kun:
.
..

Og ikke de dir der nu måtte gemme sig her

if($dir = opendir($_SERVER['DOCUMENT_ROOT'] . "/modules/"))
    {
        while(false !== ($file = readdir($dir)))
            {
                if(!is_dir($file))
                    {
                        echo $file . "<br>";
                    }
            }   
    }

closedir($dir);

Så viser den de dir der nu måtte være.

Scriptet er hentet fra Php.net og jeg har hakket mig igennem hjælpen med syntes ikke at kunne få en forklaring?

///McCookie
Avatar billede mccookie Seniormester
22. juni 2007 - 15:46 #1
Den betragter vel også
.
..
som dirs eller?
Avatar billede mccookie Seniormester
22. juni 2007 - 16:05 #2
Essens er at jeg ønsker at have ovenstående liggende i en fil i een includemappe og så bare include skidtet....men det ser ikke ud til at virke efter min plan!!

Lægger jeg den direkte i mappen og afvikler derfra er der ingen problemer..

But why?
Avatar billede hmortensen Nybegynder
22. juni 2007 - 17:16 #3
Du skal have stien med ned i is_dir() kaldet.
Du kan f.eks. lave en metode ala. det her:

function GetFolders($path)
{
  $retVal = array();
  if ($hndl = opendir($path))
  {
    while (false !== ($file = readdir($hndl)))
    {
      if (!is_dir($path.$file))
      {
        $retVal[] = $file;
      }
    }   
  closedir($hndl);
  }
  return $retVal;
}

echo implode("<br />", GetFolders($_SERVER['DOCUMENT_ROOT'] . "/modules/"));
Avatar billede mccookie Seniormester
22. juni 2007 - 17:32 #4
Det giver samme resultat!
Avatar billede mccookie Seniormester
22. juni 2007 - 17:44 #5
Nu har jeg brugt denne istedet og det lader vist til at virke efter hensigten :o)

if(is_dir($_SERVER['DOCUMENT_ROOT'] . "/modules/"))
    {
        besked("Modul mappen er tilgængelig");
        foreach(glob($_SERVER['DOCUMENT_ROOT'] . "/modules/*") as $new_file)
            {
                if(is_dir($new_file))
                {
                    besked("Denne: " . $new_file . " er et dir");   
                }    else
                {
                    besked("Denne: " . $new_file . " er ikke et dir");
                }
            }
    }     else
    {
        besked("Der er ingen modulmappe");
    }

Smid et svar så deler vi i porten for indsatsen :o)
Avatar billede hmortensen Nybegynder
23. juni 2007 - 17:01 #6
Svar :)
Avatar billede mccookie Seniormester
24. juni 2007 - 00:51 #7
Forsat god weekend
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