2009-04-05 13 views
4

私のファイルの絶対パスを取得しますが、私は、ファイル/var/www/foo/test.phpどのように私は

私は、それはその中からパスだ方法を見つけるかを持っていると言います。 "Add To Include Path"アクションを作成しようとしています。そのために絶対パスが必要です。

答えて

4

注:私はそのまま私の元の答えを残していますが、それを使用しないでください。 __FILE__定数を含む解が好ましい。

$_SERVER['DOCUMENT_ROOT']を使用すると、現在のスクリプトのパスを見つけることができます。あなたが.phpのファイルの名前が含ま必要がある場合は、このように、$_SERVER["SCRIPT_NAME"]に追加します。

$_SERVER['DOCUMENT_ROOT'].$_SERVER["SCRIPT_NAME"]; 
+0

このインスタンスで働くかもしれないが、一般的には、PHPスクリプトは、ドキュメントルートツリーである必要はありません:ファイルは、ファイルへの完全なパスを持っています。 __FILE__はより良いオプションです。 – dirtside

+0

ありがとう、dirtside。私は今日も何かを学んでいます!このような質問に答える前に、私のPHPをブラッシュアップする必要があります。 – s4y

1

これは、サーバー変数として提供されます。

$_SERVER["DOCUMENT_ROOT"]; 
1
this_file = $_SERVER["SCRIPT_NAME"]; 
4
realpath(dirname(__FILE__)) 
+0

これをもう少し考えてみると+1ですが、実際のパスが本当に問題ではありませんか? – nickf

+1

あなたが1つ上のレベルを( '/../'を追加することによって)望むなら、realpathは便利かもしれませんが、それ自身ではありません。 – Ross

+0

は、______DIR______に相当するこの文ではありません – Beachhouse

1
__FILE__ outputs exactly what you need.