2011-06-18 5 views
0

私の実行ファイルがファイルシステムの最上部に参照のうえ

/homez.x/user/www/file.php 

である私だけに機能を必要とする、私は$ _SERVERをストリッピング機能を構築することができ、十分な

/homez.x/user/ 

は公正を取得[ 'DOCUMENT_ROOT ']最後のフォルダがなくても、これを実現する方法が1つしかないかどうかを知る必要があります

+0

'/ homez.x/user /'はファイルシステムの「最上位」ではありません。 '/'はです。これは、ユーザーフォルダへのパスを取得することを意味しますか? –

答えて

0

/homez.x/user/はファイルシステムのルートではありません - /です。あなたはホームディレクトリ、あるいはドキュメントルートの親だけを探していますか? (それらは全く同じではないかもしれません)

前者はposix_getpwuid()を使用して決定できます。後者は単にdirname($_SERVER["DOCUMENT_ROOT"])です。

+0

混乱して申し訳ありません、それは私のWebサーバホスティングのページです。したがって、ファイルシステムのルートを参照するために、/homez.x/user/を書く必要があります。 – user544262772

3

私は単にこれを行うだろう:

$path = '/home/' . trim(`whoami`); 

も参照してください:shell_exec()

+0

'trim(exec( 'whoami'));'? – user544262772

+0

@Oddantfrどちらも同じことをしています。 – seriousdev

+0

@Oddantfr:@ seriousdevはバッククォート '\' 'を使用しています。http://php.net/manual/en/language.operators.execution.php –

0

をあなたのコードの再利用性を軽減するディレクトリ構造をハードコーディングすることによって。

それでは、私がお勧めすることは、中央あなたinclude_pathどこかに、このディレクトリレベルを追加にある - php.iniのかset_include_pathを使用します。

fopenfile & Coは、プロパーフラグを提供する場合、「インクルードパス」内のファイルを検索します。

+0

大きなアドバイス、そしてホームディレクトリを参照する最も正確な方法は何ですか? – user544262772

+0

への絶対パスを使用 – Raffael