D Dr-man Medlem sedan juli 2002 732 inlägg Frågan 22 aug. 2002 10:31 #1 Finns det nån möljighet att lista innehållet i underkataloger med PHP eller går det inte?
D Dr-man Medlem sedan juli 2002 732 inlägg Hur gör jag så man kan få resultat utskrivet på skärmen med hjälp av koden nedanför?
function list_dir($dirname)
{
if($dirname[strlen($dirname)-1]!='')
$dirname.='';
static $result_array=array();
$handle=opendir($dirname);
while ($file = readdir($handle))
{
if($file=='.'||$file=='..')
continue;
if(is_dir($dirname.$file))
list_dir($dirname.$file.'');
else
$result_array[]=$dirname.$file;
}
closedir($handle);
return $result_array;
}
Viktor Medlem sedan aug. 2002 1 752 inlägg Jag är ingen expert på PHP så det här är nog inte det bästa sättet men det fungerar.
<?
function list_dir($dirname)
{
if($dirname[strlen($dirname)-1]!='')
$dirname.='';
static $result_array=array();
$handle=opendir($dirname);
while ($file = readdir($handle))
{
if($file=='.'||$file=='..')
continue;
if(is_dir($dirname.$file))
list_dir($dirname.$file.'');
else
$result_array[]=$dirname.$file;
}
closedir($handle);
return $result_array;
}
$dirs=list_dir("d:/");
$i=0;
while($i<sizeof($dirs))
{
echo $dirs[$i++];
echo "<br>";
}
?>
Har även gjort en lite "snyggare" version som lägger till ett prefix framför fil/katalog namnet så man ser vad som är fil och vad som är katalog och som listar alla filer och kataloger i alla under kataloger, dvs hela vägen ner och inte som skriptet ovan som bara listar 1 nivå ner
<?
function list_dir($dirname, $fileprefix)
{
if($dirname[strlen($dirname)-1]!='')
$dirname.='';
static $result_array=array();
$handle=opendir($dirname);
while ($file = readdir($handle))
{
if($file=='.'||$file=='..')
continue;
if(is_dir($dirname.$fileprefix.$file))
list_dir($dirname.$fileprefix.$file.'',"/");
else
$result_array[]=$dirname.$fileprefix.$file;
}
closedir($handle);
return $result_array;
}
$dirs=list_dir("c:/","");
$i=0;
while($i<sizeof($dirs))
{
echo $dirs[$i++];
echo "<br>";
}
?>
/Viktor
D Dr-man Medlem sedan juli 2002 732 inlägg Fungerar fint! Hur skall man göra ifall man få filstorleken
på filen att synas på skärmen?
T toja Medlem sedan mars 2001 218 inlägg vill sig inte...
tjenare...
Fortsätter på denna tråd.. eftersom det är ungefär vad jag håller på med...
Körde Viktors sista kod där...
Den listar alla filer.. utan problem...
men det finns en katalog som heter "hej"...
den visas inte som katalog... utan som bilder... precis som alla andra filer i katalogen...
kolla: http://festivalen.ung08.nu/dev/test.php
Jag vill få det att fungera så:
1. Jag kan lista alla namn på underkatalogerna i en katalog...
2. Lista alla filer.. och inga kataloger i en viss katalog...
nån..?!