PHPでフォルダ内のファイル一覧を表示する方法(再帰的)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<!--?php function getFileList($dir) { $files = scandir($dir); // カレントディレクトリと親ディレクトリを削除 $files = array_filter($files, function ($file) { // 注(1) return !in_array($file, array('.', '..')); }); $list = array(); foreach ($files as $file) { // パスの最後の/を取り除く //$dir = trim($dir, './'); $fullpath = rtrim($dir, '/') . '/' . $file; // 相対パスから絶対パス取得 $path = realpath ($fullpath); // ファイルの場合 if (is_file($fullpath)) { $list[] = $fullpath; } // ディレクトリの場合(再帰的) if (is_dir($fullpath)) { $list = array_merge($list, getFileList($fullpath)); } } return $list; } /* // プロトコル (empty($_SERVER["HTTPS"]) ? "http://" : "https://") */ $arr = getFileList("."); for($i = 0 ; $i < count($arr) ; $i++){ echo "<a href=\"".$arr[$i]."\">".$arr[$i]."</a>"; echo "<br ?-->"; } ?> |