2012-02-07 13 views
1

タイトルのための単語にこれを入れるのは難しいビット。基本的には、ファイルシステム内のファイルにデータを読み書きするPHPクラスがあります。私はいくつかのスクリプトからこのデータにアクセスする必要があるので、データをロードするクラスの中心インスタンスを1つ作成し、データにアクセスするために必要なスクリプトを含めて参照しようとしました。この問題は、オブジェクトがインスタンス化されたPHPファイルではなく、クラスによって読み込まれて書き込まれるファイルへのパスが、そのスクリプトがインクルードしているものとの相対的な関係にあることにあります。ファイルを参照するPHPファイル - 場所は常に変更されます

これを処理するの?システムが配備されるように私は、絶対URLを使用することはできませんので、私は、URLが

答えて

0

yoursite.com/index.php?page=subdir

if (!isset($_GET['page'] || $_GET['page']==home){ 
$page = '/'; 
}elseif($_GET['page']=="subdir"){ 
$page = '../'; 
} 
else{ 
// someone messed with the url 
header('location: yoursite.com'); 
} 

include $page . 'yourfile.php'; 
+0

ありがとうございますが、理想的には、すべてのページにクエリ文字列を入れたくありません。 – ollie

1

あなたはあなたがPHPスクリプトに対してアクセスしたいファイルの場所を知っていることを見て: ます場合は、絶対に確認することができますを使用してください__ DIR __マジック定数。

のrequire_once DIR __ _ _ '/ known_location/file_required.php';

やPHPのバージョンより古い5.3

なrequire_once dirnameは(__ FILE _ _) '/ known_location/file_required.php' の。

+0

アンサースコアをこの問題に追加する際に問題がありました。 DIRとFILEの前後に二重のアンダースコアを使用するだけです – Sydwell

関連する問題