readdir()関数によるディレクトリ内探索の応用例を紹介します。この例では「images」ディレクトリ内を探索し、そこにあるファイル名およびそのファイルへのリンク(<a>タグ)を表示するためのHTMLを組み立てています。ここでは、「images」には画像ファイルだけしかないので、<img>タグによる画像の表示も行っています。
この例では、画像ファイルを例にしていますが、Word文書やExcelワークシート、PDFファイルなどにも適用できます。FTPサーバや社内LANサーバにそれらのドキュメント類を置き、最新のファイルリストを動的にWebブラウザに表示させることもできます。
<?php header("Content-type: text/html; charset=utf-8"); //カレントディレクトリをimagesに移動 chdir("images"); //カレントディレクトリのディレクトリハンドルを開く $dirh = opendir("."); $html = "<ul>"; //ディレクトリ内を探索するループ while($file = readdir($dirh)){ //通常ファイルならHTMLのリンクを作成 if(is_file($file)){ $html .= "<li><a href=\"images/" . $file . "\">" . $file . "</a>"; $html .= "<img src=\"images/" . $file . "\"></li>"; } } $html .= "</ul>"; //ディレクトリハンドルを閉じる closedir($dirh); echo $html; ?>