0

必要なファイルに含まれるファイルを持っています。私が抱えている問題は、ユーザーがサイトのルート ディレクトリにあるページにいる場合にのみ、含まれているファイルが機能することです。しかし、ユーザーがサブディレクトリに分岐すると、エラーが発生します

ストリームを開けませんでした: そのようなファイルまたはディレクトリはありません

これは、現在必要なファイルにファイルを含める方法です。

include('classes/browser_detection.php')

だから私はうまくいかなかったいくつかのことを試しました

初め:

include('/cms/classes/browser_detection.php')

2番目:

include( dirname(__DIR__) . '/classes/browser_detection.php')

これらのオプションは両方とも機能しませんでした。メインファイルが必要なすべてのページにクラスを個別に含めることなく、どうすれば動作させることができますか?

4

2 に答える 2

2

回答を参照してください: PHP ディレクトリ - ベスト プラクティス

私は使用するのが好きです:

config.php (ルートにあります)

define('ROOT_SYS',dirname(__FILE__).'/'); //$_SERVER["DOCUMENT_ROOT"] for root access

これにより、サイトをローカルで、またホスティングで問題なく作業できます。あなたの場合、次のようになります。

include(ROOT_SYS . 'classes/browser_detection.php')
于 2013-08-21T19:26:33.113 に答える
1

インクルードパスを設定できます

$path = '/home/mywebsite/public_html/cms/classes/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);

それから

include('browser_detection.php');
于 2013-08-21T19:27:08.700 に答える