2017-12-27 9 views
-1

コードには、ディレクトリ内のファイルではなくフォルダへのリンクのみを表示させるにはどうすればよいですか?ディレクトリ内のすべてのフォルダを一覧表示する(PHP)

$d = dir("."); 
echo "<ul>"; 
while(false !== ($entry = $d->read())) { 
    echo "<li><a href='{$entry}'>{$entry}</a></li>"; 
} 
echo "</ul>"; 
$d->close(); 
+0

$ arr = scandir( 'dirname'); $ arrとtest is_dir($ item)をループしてください – halojoy

+0

あなたはこれを見ましたか? https://stackoverflow.com/questions/2524151/php-get-all-subdirectories-of-a-given-directory –

答えて

2
$d = dir("."); 

echo "<ul>"; 

while (false !== ($entry = $d->read())) 
{ 
    if (is_dir($entry) && ($entry != '.') && ($entry != '..')) 
     echo "<li><a href='{$entry}'>{$entry}</a></li>"; 
} 

echo "</ul>"; 

$d->close(); 
+0

ありがとう、それはドットのないフォルダだけを出力します! – Unknown

1

あなただけis_dirを呼び出して、あなたの現在のコードをラップすることができるはずです:あなたは以下を使用して、「ドット」ディレクトリ(...)を削除したい場合は

while(false !== ($entry = $d->read())) { 
    if (is_dir($entry)) { 
     echo "<li><a href='{$entry}'>{$entry}</a></li>"; 
    } 
} 

if (is_dir($entry) && !in_array($entry, ['.', '..'])) { 
... 
+0

ありがとう、それは魅力的に機能しました!私がこの解決策で得た唯一の問題は、これらの点がフォルダの下にあることです。 – Unknown

+0

@Unknownドットは別の「ディレクトリ」です。本当にそれはあなたがいるディレクトリの親ディレクトリです。 – GrumpyCrouton

+0

私は見る! コードから削除する方法はありますか、それを削除するにはCSSを使用する必要がありますか? – Unknown

0

$エントリがディレクトリである場合だけチェック:

$d = dir("."); 
echo "<ul>"; 
while(false !== ($entry = $d->read())) { 
if(is_dir($entry)) 
    echo "<li><a href='{$entry}'>{$entry}</a></li>"; 
} 
echo "</ul>"; 
$d->close(); 
+0

OBS!ドットで箱から出てきたのはこのコードでした! – Unknown

関連する問題