PHP現在のディレクトリの名前を取得


123

私のウェブサイトのフォルダー内にphpページがあります。

たとえば、現在のディレクトリの名前を変数に追加する必要があります。

$myVar = current_directory_name;

これは可能ですか?

回答:


246
getcwd();

または

dirname(__FILE__);

または(PHP5)

basename(__DIR__) 

http://php.net/manual/en/function.getcwd.php

http://php.net/manual/en/function.dirname.php

basename()パスの末尾部分を取得するために使用できます:)

あなたの場合、私はあなたが使用する可能性が最も高いと思いますgetcwd()dirname(__FILE__)あなたが別のライブラリが含まれている必要があり、別のライブラリに含まれているファイルがある場合に、より便利です。

例えば:

main.php
libs/common.php
libs/images/editor.php

あなたのcommon.phpeditor.phpで関数を使用する必要があるので、あなたは

common.php

require_once dirname(__FILE__) . '/images/editor.php';

main.php

require_once libs/common.php

このようにして、common.phpがrequire'dinのmain.php場合、in の呼び出しはrequire_once、が実行されている現在のディレクトリを調べようとするのではなく、common.php正しく含まeditor.phpれます。images/editor.phpmain.php


5
そしてbasename(__DIR__)、PHP 5
Xeoncross

これは私に完全な道を与えています。ディレクトリ名だけを取得する方法はありますか?
Satch3000 2012

13
@ Satch3000basename(getcwd())
Andreas Wong

2
インクルードまたは必須を使用する場合、__DIR__はインクルードファイルのパスであり、現在のディレクトリではないことに注意してください
Sebastien Horin

を使用basename(__DIR__) して私のために保存された日。共有してくれてありがとう!
Devner、2015

18

スクリプトが実行されたディレクトリの名前のみを取得するには:

//Path to script: /data/html/cars/index.php
echo basename(dirname(__FILE__)); //"cars"

11
echo basename(__DIR__); will return the current directory name only
echo basename(__FILE__); will return the current file name only

2
PHP 5.3以降を使用している限り
表示名が欠落

11

例えば

Your Path = /home/serverID_name/www/your_route_Dir/

THIS_is_the_DIR_I_Want

機能する魂:

$url = dirname(\__FILE__);
$array = explode('\\\',$url);
$count = count($array);
echo $array[$count-1];

3
OPは彼らの問題に対する答えをすでに受け入れているようです。あなたは明らかに付加価値を付けましたが、ここであなたの支柱を換気する必要がありますか?
ダッツ2013年

stackoverflow.com/help/formattingは、大文字の使用を避けて物事を大胆にする方法を説明します。これは、インターネットで叫んでいることを示しています。
ダッツ2013年

7

実際、私は最善の解決策は次のとおりです:

$cur_dir = explode('\\', getcwd());
echo $cur_dir[count($cur_dir)-1];

ディレクトリがwww \ var \ path \ Current_Pathの場合

次に、これはCurrent_pathを返します


4
Linuxサーバーでは、バックスラッシュではなくスラッシュを使用することに注意してください。PHPには、それをクロスプラットフォームにするための魔法の定数があります。参照PATH_SEPARATOR
2014

2

$myVar = str_replace('/', '', $_SERVER[REQUEST_URI]);

libs / images /index.php
結果:images


さて、私はStack Overflowがネット上で最も知識の豊富なユーザーを何人か持っていることに私たちは皆同意すると思います。それはちょっとポイントです。奇妙なロケールで20年経っても機能するソリューションを入手しようとするのは難しいです。私たちの一部が台無しになっている場合は、それは領土だけに行きます。:) ps私は反対投票者ではありませんでした。
Adam Chalcraft、

1

PATHがあり、関心のあるフォルダーでスクリプトが機能するかどうかを心配したくない場合は、次のように機能します。

basename(parse_url($_GET['dir_link'])['path'],PHP_URL_PATH)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.