Hey er det fejl at liste alt hvad der er i en mappe sådan her?

Tags:    php

//Åbner Arikv mappen

$dir = "Arkiv/";
$handle = opendir($dir);

while(($file = readdir($handle)) !== false) {


if ($file !== '.' && $file !=='..' && is_dir($dir)) {
print "<a href=$dir$file>$file</a><br>";
}
}
closedir($handle);

Er det fejl at gøre sådan? Eller hva?


MxS @
http://mxs.friserverplads.dk



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
//Åbner Arikv mappen

$dir = "Arkiv/";
$handle = opendir($dir);

while(($file = readdir($handle)) !== false) {


if ($file !== '.' && $file !=='..' && is_dir($dir)) {
print "<a href=$dir$file>$file</a>";
}
}
closedir($handle);

Er det fejl at gøre sådan? Eller hva?


MxS @
http://mxs.friserverplads.dk


Det virker da meget korrekt? :-)


--
Ronni Egeriis - http://sqdev.dk/
Co-Admin



//Åbner Arikv mappen

$dir = "Arkiv/";
$handle = opendir($dir);

while(($file = readdir($handle)) !== false) {


if ($file !== '.' && $file !=='..' && is_dir($dir)) {
print "<a href=$dir$file>$file</a>";
}
}
closedir($handle);

Er det fejl at gøre sådan? Eller hva?


MxS @
http://mxs.friserverplads.dk

Lidt.
1) Brug != istedet for !==
2) Du har i opendir() konstateret at $dir er et directory så is_dir($dir) er ret overflødigt.
3) Du burde lige tjekke om du har åbnet dit directory:
$handle = opendir($dir);
if($handle) {
//...resten af koden
}



Ok men kan du forklare mig hvad der sker når jeg sætter den til

is_dir($dir.$file)


Det vil sige hele koden siger sådan ud
//Åbner Arikv mappen

$dir = "Arkiv/";
$handle = opendir($dir);

while(($file = readdir($handle)) !== false) {


if ($file !== '.' && $file !=='..' && is_dir($dir.$file)) {
print "<a href=$dir$file>$file</a>";
}
}
closedir($handle);


Jeg ved at den kun skriver mapperne ud, men hvad betyder is_dir($dir.$file)?



Prøv at erstatte is_dir med is_file



Prøv at erstatte is_dir med is_file

MxS @
http://mxs.friserverplads.dk


Nej nej jeg forstår godt hvad is_file gør, men jeg forstår bare ikke hvorfor is_dir kan hive både filer og mapper ud hvis man siger is_dir($dir.$file)



t