2012-02-20 1 views
0

私はアカウントをホスティングし、それが完璧に動作します私のHostgatorの共有にこの$パスを使用します。RESELLERアカウントの等価パス?

$path = dirname($_SERVER["DOCUMENT_ROOT"]).'/'; 

すなわち、このパスは、/ホーム/ユーザー名/ public_htmlの/

ですここで私はそれを使用する方法の例です:

<?php 
$path = dirname($_SERVER["DOCUMENT_ROOT"]).'/'; 
include($path.'stats.php'); 
?> 

私の問題は、この$パスが私の新しいHostgatorのではない作業を行うということです代理店アカウント。

誰かがなぜこれが代理店ホスティングにはうまくいかず、代わりにどのような$パスを使用できるのか分かりますか?

理想的には、私は共有と再販業者のアカウントで同じコードを使用できるように "if else"を使用します。

なり、次の作業:PHP strange DOCUMENT_ROOT

<?php 
if(strpos($_SERVER['SCRIPT_FILENAME'],$_SERVER['DOCUMENT_ROOT'])===false) { 
     // for reseller accounts 
     $path = WHATEVER_THE_RESELLER_PATH_IS; 
    } 
    else { 
     // for shared hosting accounts 
     $path = dirname($_SERVER["DOCUMENT_ROOT"]).'/'; 
    } 
include($path.'stats.php'); 
?> 

ここから "あれば" 私は上記を得ました。

答えて

0

dirname(__FILE__);は、このステートメントを実行しているファイルのディレクトリを示します。あなたがどこにいるか知っていれば、この方法でドキュメントルートを見つけることができます。

0

私は、常にあなたのウェブルートと一貫した関係を持っている$_SERVER['DOCUMENT_ROOT']に依存するようにアプリケーションを構築しません。あなたのアプリケーションは、ホスティング環境に緩やかに結合されている必要があります。できるだけ多くのことを知っている必要があります。例えば

、ワードプレスは、WordPressのディレクトリへの絶対パスを格納するABSPATH定数を使用しています。

ファイル:/example/hosting/env/public_html/blog/wp-config.php

は、コードの行を持っているでしょう:

define('ABSPATH', dirname(__FILE__) . '/'); 

WordPressは知っていますそのファイルのすべてがwp-config.phpを保持するディレクトリからの相対パスであるため、すべてのファイルパスを相対パスで構築します。ダウンとは、コードの次の行がある:ABSPATH

require_once(ABSPATH . 'wp-settings.php'); 

が定義され、それは、ワードプレスの残りのベースファイルパスとして使用されます。

+0

こんにちは。私を許して、私はこの種のもので初心者です。 –

+0

だから、私のパスを '$ path = dirname(__ FILE__) 'にするべきだと言っている。 '/'; '?これは共有ホスティングでは機能しません。なぜ '$ path = dirname($ _ SERVER [" DOCUMENT_ROOT "])。 '/';'を使って共有ホスティングでうまく動作するのかを選んだ理由です。あなたは '$ path = define( 'APP_ROOT'、dirname(__ FILE__)。 '/');'を使うべきだと言っていますか?それは共有ホスティングだけでなくホスティングにも使えますか?申し訳ありませんが、私は混乱しています。私は私のヘッドウェイフレームワークのテーマ(wordpress)のフックで自分のコードを使用します。 –

+0

@PhilDean回答が更新されました。あなたの質問に答えるかどうかお知らせください – Shad