Portál AbcLinuxu, 12. května 2025 09:23
$cesta= "DB/Content";
$adresar = @opendir("$cesta");
while ($soubor= @readdir($adresar)) {
if ($soubor != "." && $soubor != ".." && $soubor != "Kontakty" ) {
echo ''.$soubor.'
';
$s=$cesta.'/'.$soubor.'/';
$Directory=$s;
$Dir=opendir($Directory);
$Files=array(); $i=0;
while($f=readdir($Dir)) {
if (!is_dir($Directory.$f)) {
$Files[$i++]=$f;
}
}
for($i=0;$i<5;$i++) {
$f=file($Directory.$Files[$i]);
if ($f) {
print $Files[$i].'
';
}
}
}
}
Řešení dotazu:
$root = new DirectoryIterator('DB/Content'); foreach ($root as $dir) { if ($dir->isDir() && !$dir->isDot() && $dir != 'Kontakty') { echo $dir, ': '; foreach (new DirectoryIterator($dir->getPathname()) as $file) { if (!$file->isDot()) { echo $file, ' '; } } echo "\n"; } }
Jestli je struktura fixní (jedna úroveň adresářů - soubory), tak se tam ty odrážky dají vrazit natvrdo:
$root = new DirectoryIterator('DB/Content'); foreach ($root as $dir) { if ($dir->isDir() && !$dir->isDot() && $dir != 'Kontakty') { echo '- ', $dir, "\n"; foreach (new DirectoryIterator($dir->getPathname()) as $file) { if (!$file->isDot()) { echo '--- ', $file, "\n"; } } } }
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.