2011-01-07 3 views
2

ブラウザバーに表示されているものに関係なく、ファイルの現在のディレクトリをPHPで返そうとしています。私が試してみました:

echo $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 

URLが

http://example.com/directory1/directory2/var1/var2/var3 

上記のコードはVAR1/VAR2/VAR3は、htaccessファイルをするRewriteRuleによって飼いならさGET_[]変数であっても

example.com/directory1/directory2/var1/var2/var3 

を返している場合。ディレクトリを取得するためのまともな方法はありますか?上記の場合、返信したいと思います:

example.com/directory1/directory2/ 

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

答えて

5

SCRIPT_FILENAMEに置き換えてください。

str_replace($_SERVER['DOCUMENT_ROOT'], '', dirname($_SERVER['SCRIPT_FILENAME'])); 
+0

構文を確認してください。 DOCUMENT_ROOTの後に一重引用符がありません。 – Nik

+1

ajreal:私はそれをきれいにした後、これは動作します。 'str_replace($ _SERVER ['DOCUMENT_ROOT']、 ''、dirname($ _ SERVER ['SCRIPT_FILENAME']));'答えを更新できますか? – superUntitled

+3

@superUntitied - yup、haha ...私も人間です – ajreal