Diskuze: Funkce pro vyhledávání složek
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
První odkaz na googlu:
$handle=opendir("test");
echo "Složky:";
while (($file = readdir($handle))!==false):
if (!is_dir($file)) continue;
echo "$file\n";
endwhile;
closedir($handle);
A nevíš proč my to vypíše tečku nebo dvě tečky a ne složku, když jsem si to upravil takto?:
$handle=opendir("album");
while (($file = readdir($handle))!==false):
if (!is_dir($file)) continue;
echo "<option value='album/$file'>/album/$file</option>";
endwhile;
closedir($handle);
Super, díky. Jen ještě zkoumám, proč my to na začátku vyhodí dva adresáře, jeden '.' a druhý '..', nevíš čím by to mohlo být?
Tak je to vždy. Myslím, že je to aktuálny a nadradený adresár.
Jenže já to tam nemůžu nechat, budu muset něco vymyslet.
výpis uložíš do proměnné a potom:
$vypis = str_replace('.', '', $slozky);
$vypis = str_replace('..', '', $vypis);
a v proměnné vypis to máš bez teček
Trochu jsme poupravil kód.
$dir = 'foo';
$ignoreFile = array('.', '..'); //seznam ignorovaných souborů k výpisu
foreach(scandir($dir) as $file)
{
if( is_dir($dir . '/' . $file) && !in_array($file, $ignoreFile) )
{
echo($file);
}
}
foreach (new DirectoryIterator(__DIR__) as $item) {
if ($item->isDir() && !$item->isDot()) {
print($item->getFilename() . '<br>');
}
}
Zobrazeno 11 zpráv z 11.