技術メモ 読む時間 約1分

PHPでフォルダ内のファイル一覧を取得

PHPでフォルダ内のファイル一覧を取得

globを使って再帰的にファイルリストを作成

./sample フォルダ(ディレクトリ)の中を、中のフォルダも含めて一覧にする例です。

<?php
file_list('./sample/*');

function file_list($path){
	$res = glob($path);
	foreach ($res as $key => $value ) {
		if (is_file($value)) {
			echo 'file : ' . $value . '<hr>';
		} else {
			echo 'dir : ' . $value . '<hr>';
			file_list($value.'/*');
		}
	}
}
?>

実行結果

指定したフォルダの中を 1 つずつ調べ、ファイルなら表示、フォルダならその中をさらに同じ関数で調べます(再帰)。

※ glob の「*」は、名前が「.」で始まる隠しファイル(.htaccess など)を拾いません。また、ファイル名を公開の画面に出すときは、htmlspecialchars() を通してから echo してください。

この記事を書いた人

フリースタイル

Web の仕事 25 年以上。WordPress の保守・引っ越しと、PHP の業務の仕組みづくり。 プロフィール →

まずは、お気軽にご相談ください。

相談と見積りは無料です。急ぎのときは、フォームで「急ぎ」を選んでください。