2016-04-06 15 views
0

私はいくつかのファイルをホストするftpサイトを持っています。それぞれのファイルは、使用しているダウンロードソフトウェアの制限により、メインディレクトリ(アップロード)にそれ自身のフォルダ内にあります(各ファイルには一意のファイルパスが必要です。ファイル名はmodpack.zipでなければなりませんこの名前のバリエーションであり、正確な名前が必要です。なぜ各バージョンがそれ自身のサブフォルダにあるのですか)ディレクトリ内のすべてのサブディレクトリからのリンクとしてPHPでファイルを一覧表示する(ファイルのみ)

メインアップロードフォルダのすべてのサブディレクトリのすべてのファイルを一覧表示する方法を見つける必要があります。、だけでなくリストとして、各ファイルがどのように大きな各ファイルは、それへのリンクを持っている必要がありますし、フォルダが表示されている必要はありません

私はこれまでのところ、私の出発点として持っているコードは次のとおりです。

<div id="list"><table> 
<tr><td align="center">Modpack List</td></tr> 
<?php 

$dir_open = opendir('uploads/'); 

while(false !== ($filename = readdir($dir_open))){ 
    $bytes = filesize($_SERVER['DOCUMENT_ROOT']."/uploads/".$filename.""); 
    if($filename != "." && $filename != ".."){ 
     echo '<tr><td><a href="/uploads/'.$filename.'">'.$filename.'</a> - '.bytesToSize($bytes).'</td></tr>'; 
    } 
} 

closedir($dir_open); 

?> 
</table> 
</div> 

私はreaddir()とscandir()を使用しようとしましたが、どちらも不要なファイルとサブフォルダの両方を表示しています。現在のセットアップでは、直接/アップロードの下にあるファイルとフォルダのみがリストされ、私がそのフォルダのFTPページに連れて行くフォルダをクリックしない限り、サブフォルダの下のファイルのいずれか。

私はここで、他のサイトと同様にいくつかの投稿されたソリューションを試しましたが、どれも必要なものはありませんでした。リンクとしてフォルダを省略する方法を理解できませんファイルを一覧表示します。

+0

使用[ 'is_file()'](http://php.net/manual/en/function.is-file.php)(または 'is_dirを() ')。 – Kenney

答えて

0

グロブ()を使用してみてください!の

<?php 
    foreach(glob('path-to/UPLOAD_FOLDER/*') as $subDirectory) {   
     foreach(glob($subDirectory'./*') as $file) { 

      // do what you want with file here... example: 
      $file_list .= $file.'<br>';        
     }        
    } 
    echo $file_list; 
?> 
+0

これは、各サブディレクトリの下にあるファイルのみをリストしていました。お手伝いありがとう! – Bryan

+0

あなたの歓迎...私はglob()関数が大好きです...上記のコードを使用して、自分のイメージギャラリーにイメージを表示します – petebolduc

関連する問題