プロが教えるわが家の防犯対策術!

phpファイルが入っている、2階層上位のディレクトリ名(フォルダ名)を取得したいと思っています。


http://~.com/aaa/bbb/ccc/test.php

test.phpが本体です。
ここから2階層上位のディレクトリ名、ここでは「bbb」を取得するような事はできないでしょうか?
test.phpの中に、2階層上位のディレクトリ名を記述したいと思っています。

具体的に言うと、
$name = "●●●";
上記の●●●に、2階層上位のディレクトリ名を入れたいです。


同じようなファイルが多数あり、「bbb」には様々なフォルダ名があり、test.phpの1つ1つを書き換えるのに手間がかかるので、ディレクトリ名を自動的に取得できれば助かります。


phpの知識がほとんどないため、お力をお借りできればと思い、質問させて頂きました。

アドバイスをお願い致します。

A 回答 (2件)

自URL取得してそれを / で分割(split)する。


で、後ろから3つめがそれにあたるのではないかと思われます。

$list = split( "/", $_SERVER[ SCRIPT_NAME ] );
$name = $list[ count( $list ) - 3 ];
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

記述して頂いたスクリプトを、そのままコピーして試してみた所、私が思っていたように上位のディレクトリ名を取得する事ができました。

これでかなりの手間が省けて、作業も先に進める事ができそうです。

適格にアドバイスをして頂き、大変感謝しております。
ありがとうございました。

お礼日時:2006/04/14 16:30

自分なら$_SERVER["SCRIPT_NAME"]などを加工して取り出すかな


"/"でexplodeしてarray_reverse で配列ひっくり返して3番目(添え字は[2])を取り出せばいいでしょう。
他からインクルードされるファイルなら__FILE__を使った方がいいかもしれませんがOSによってディレクトリの区切りが変わるので注意しないといけないですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!