2015-09-07 10 views

答えて

11

PHPスクリプトは、現在のパス(結果:getcwd())を基準にして実行され、独自のファイルのパスでは実行されません。 __DIR__を使用すると、インクルードは独自のパスに対して実行されます。以下のファイル(およびディレクトリ)を作成し、実証するため

- file1.php 
- dir/ 
    - file2.php 
    - file3.php 

file2.phpは、このようなfile3.phpが含まれている場合:

include `file3.php`. 

あなたが直接file2.phpを呼び出す場合、それが正常に動作します。しかし、file1.phpfile2.php、カレントディレクトリ(getcwd())が含まれている場合、file2.phpのために間違っているだろう、そうfile3.phpを含めることはできません。

0

を含めると、PHPが自動的に検索するフォルダをいくつか設定できます。相対パスでファイルをインクルードすると、そのフォルダすべてを検索します。間違ったファイルを読み込む際のエラーを防ぐために、実際のパスを定義する方が良い。

https://secure.php.net/manual/en/function.set-include-path.php

次に、あなたが正しいファイルをロードすることを確認することができます。

+0

これも真実ですが、これは実際に最も重要な理由ではありません。 – Evert

関連する問題