17

いくつかの異なるデータベースクエリを取得するための 1 つの関数を作成しています。現在は順調に進んでいますが、定義されたパスから最後のディレクトリ名を取得するだけで済みます。

$qa_path=site_root('/learnphp/docs/');

docs上記のパスからのみ取得したい。ここで site_root は何もない$_SERVER['DOCUMENT_ROOT']ので、どうすれば取得できdocsますか?

ありがとう

4

8 に答える 8

32

最も簡単な方法は、次のように使用するbasename($yourpath)ことです:http: //php.net/basename

于 2013-01-11T19:21:27.763 に答える
31

次のように、文字列の最後にファイルが含まれている場合、提供された回答は機能しません。

basename('/home/mypath/test.zip');

与える

test.zip

したがって、文字列にファイルが含まれている場合は、最初にディレクトリ名を付けることを忘れないでください

basename(dirname('/home/mypath/test.zip'));

与える

mypath
于 2014-11-06T11:52:42.353 に答える
2

explode('/', '/learnphp/docs/') 文字列を配列の場所に分割してみてください。次に、最後の場所を取得します。

詳細は次のとおりです:http: //php.net/manual/en/function.explode.php

于 2013-01-11T19:21:40.007 に答える
1

これはあなたを助けます

$qa_path=site_root('/learnphp/docs/');
$q_path = explode ("/", $qa_path);
$lastV =  end($q_path);
于 2013-01-11T19:38:39.930 に答える
1

この単純なスニペットを使用できます。

$qa_path=site_root('/learnphp/docs/');
$qa_path = explode("/", $qa_path);
$qa_path = $qa_path[count($qa_path) - 1];
于 2013-01-11T19:22:11.327 に答える
1
$qa_path=explode('/', '/learnphp/docs/');
echo $qa_path[2]; // output docs
于 2013-01-11T19:24:35.590 に答える
1

これにより、現在のディレクトリ名が得られます。 echo basename(dirname(__FILE__));

于 2015-08-14T04:27:48.843 に答える