PHPについて質問です。

カレントディレクトリのディレクトリ名だけ抽出するにはどうしたらよいのでしょうか?
たとえば、「C:\xampp\htdocs\hoge\index.php」だとしたら、
「hoge」というディレクトリ名だけを抽出したいということです。
よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/07/09 00:14:30
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:GoldenDawn No.1

回答回数426ベストアンサー獲得回数81

ポイント35pt
$path = 'C:\xampp\htdocs\hoge\index.php' ;
$current_dir = basename(dirname($path)) ;

echo $current_dir ;
id:taroemon

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

うまくいきました。

2008/07/08 23:36:47
id:tezcello No.2

回答回数460ベストアンサー獲得回数69

ポイント35pt

> たとえば、「C:¥xampp¥htdocs¥hoge¥index.php」だとしたら、

本当に 'C:¥xampp¥htdocs¥hoge¥index.php' が与えられるのだとしたら

$str = 'C:¥xampp¥htdocs¥hoge¥index.php';
preg_match('!.+¥¥¥¥]([^¥]+)¥¥¥¥.+$!', $str, $res);
var_dump($res);

で、$res に hoge が返ります。


ですが、この例はカレントディレクトリが与えられたのでは無く、ファイル名ですよね。

あるファイル名(フルパス)から、ファイルの存在するディレクトリ名を得るのであれば、PHP 上では 'C:/xampp/htdocs/hoge/index.php' となっていると思いますが、問題ありませんか?


カレントディレクトリを得るのであれば、

var_dump(basename(getcwd()));

で良いと思います。

id:taroemon

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

おっしゃるとおりです。

質問の仕方が悪かったようです。すみません。

いただいた「var_dump(basename(getcwd()));」でうまくいきました。

2008/07/09 00:14:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません