2012-01-23 12 views
9

ディレクトリに現在スクリプトが実行されている親フォルダの名前を取得したいのですか?PHPでスクリプトが実行されているディレクトリの親フォルダの名前を取得するには?

"/Users/Somone/Sites/public/foo.php"のパスを持つfoo.phpというスクリプトがある場合、そのファイルのパスから "public"を取得する方法を教えてくださいディレクトリツリー全体?

助けがあれば助かります。

ありがとうございました。

+2

を私はdownvoteすることができません、これはすでに持っていますあなたがGoogleの検索を行う場合は、そこへのリンクがたくさんあります。 [http://stackoverflow.com/questions/1882044/get-parent-directory-of-running-script] – bowlerae

+0

私はあなたを愚かと呼ぶことに感謝します。私はこれに私がここに投稿した解決策を見つけることができませんでした。 – Moshe

+0

そして私はあなたが投稿される前にあなたがリンクしている投稿に出くわしました。 – Moshe

答えて

4
echo basename(__DIR__); 

編集:それが表示される__DIR__末尾のディレクトリ区切り文字が含まれていないため、substr()コールは不要です。

14

それを行うための最も簡単な方法:

basename(__DIR__); 

@marioがsagely述べたように、これはうまく... PHP 5.3+でのみ可能であるので、あなたが5.2以下で立ち往生している場合...新しいホストに切り替えて、レガシーソフトウェアの使用を停止する必要があります。

+0

これは間違いなく最も簡単な方法です。 ありがとう – Moshe

+0

含まれているファイルのパスの代わりにインクルードへのパスを使用します...アイデアはありますか? –

1

これは私のために働いています

trim(strrchr(__DIR__, DIRECTORY_SEPARATOR), DIRECTORY_SEPARATOR);

+0

完璧に動作します、ありがとうございます! – redaxmedia

1
//on windows server 
$cur_dir = explode('\\', getcwd()); 
$sector=$cur_dir[count($cur_dir)-2]; 
echo $sector; 
    //on linux server 
$cur_dir = explode('/', getcwd()); 
$sector=$cur_dir[count($cur_dir)-2]; 
echo $sector; 

変更するには、必要があるか、親ディレクトリ:-2、-3、-4

+0

これは3年以上前に尋ねられたもので、ユーザーは問題を解決するための努力をしていませんでした。 – Bonatti

関連する問題