Eyecatch php

PHP

PHPで同階層のディレクトリの一覧を取得する方法

2015/06/04

PHPで現在のパスを取得する方法」のポストでパスを取得できたので、取得したパスに存在するディレクトリの一覧を取得する方法をポストします。

同階層のディレクトリ一覧を取得する

パスの取得・指定

これは「PHPで現在のパスを取得する方法」で示した方法を利用します。
具体的には以下のように。

結果例:

※最後にスラッシュは付かない。

ディレクトリ一覧の取得

ディレクトリの取得にはめっさ簡単な関数「scandir();」が用意されているので、それを使います。

結果例:

scandir()関数

PHPマニュアルから使い方を参照。

scandir()関数は、指定されたパスのファイルとディレクトリの配列を返します。
この関数は、成功すれば配列を、失敗すればFALSEと警告を返します。
directory がディレクトリではない場合は、 FALSE を返し、E_WARNING レベルのエラーを 発行します。

構文

array scandir ( string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context ]] )

パラメータ
directory
調べるディレクトリ。
sorting_order
デフォルトでは、ソート順はアルファベット昇順です。 オプションの sorting_order に SCANDIR_SORT_DESCENDING を設定した場合、 ソート順はアルファベット降順になります。 SCANDIR_SORT_NONE を設定すると、 結果をソートせずに返します。
context
context パラメータの説明については、 マニュアルのストリーム を参照ください。

同階層のディレクトリへの目次的な自動リンクスクリプト

「PHPで現在のパスを取得する方法」及びこのポストは自動リンクスクリプトを作りたくて調べた結果だったりします。
せっかくなので知識の共有って事で晒してみたいと思います。

PHPスクリプト

ほぼ先ほど挙げたスクリプト+リンク処理だけで事足りるのですが、リンクさせたくないディレクトリがある場合にはそのディレクトリを無視するという処理を入れてみました。

デモ

デモはコチラから
このブログのサンプルを収めているディレクトリです。

-PHP
-, , , ,