0

SaaS の原則に基づいて CMS を構築しています。Web サーバー (動的専用) を稼働させています。すべてが期待どおりに進んでいますが、今では自分のテンプレート システムに出くわし、後でファイル処理などの単純なことに出くわしました。論理的には、各クライアントには独自のホスティング アカウントがあります。すべてのホスティング アカウントは、同じサーバーにある大規模なグローバル アカウントでホストされているマスター データベースに要求します。

後で処理する必要があるのは、ファイル処理などの単純なものです。通常、各クライアントは自分のデータを自分のホスティング アカウントに保存します。ページデータとその他のデータ (製品カタログ、調査など) のみがデータベースでホストされます。

しかし、中央でホストされているシステムからファイルをアップロードする前に、指定されたホスティング アカウントにアクセスする方法を理解する必要があります。必要なすべてのデータをセッション変数に保存しました。これは、クライアントが作業する Web サイトを選択したときに入力されます (システムが複数のサイトをサポートしているため)。

私のサーバーのURL構造は次のようなものです: /home/[unix-user-name]/domains/[domain-name]/public_html/paths/to/the/folders/i/set/up/

URL の 2 番目の部分はホスティング アカウント名で、4 番目の部分はクライアントからのドメインです。繰り返しますが、この情報はセッション変数にあり、すぐにアクセスできます。

私の唯一の問題は、クライアントがシステムにログオンしているときに、ベース URL の一部がすでに次のように入力されていることです。

/home/ontdek01/domains/ontdek5.nl/public_html/

私の質問は、この場合、PHP にルートからファイルの検索を開始させるにはどうすればよいhomeですか?

4

3 に答える 3

1

あなたの質問を正しく解釈しているかどうかはわかりませんが、次のようなことを試しましたか:

chdir('/home/');

これにより、PHP の作業ディレクトリがホームに設定されるため、PHP はそのディレクトリに関連するインクルード ファイルを探します。

于 2010-01-28T04:24:48.727 に答える
1

php.ini に追加/homeすると、そこからの検索が許可され、ルート化されます。include_pathinclude*()require*()

于 2010-01-28T04:31:54.267 に答える
0

次のように設定できます。

$subDir = '/path/to/some/subdirectory/';
$includePath = $_SERVER['DOCUMENT_ROOT'] . $subDir;

include $includePath . 'myFile.php';

これにより、ルート ダウン ($_SERVER['DOCUMENT_ROOT']) から開始し、必要に応じてサブディレクトリ ($subDir) までドリルダウンできます。

于 2010-01-28T05:37:01.950 に答える