require,includeの絶対パスでのファイル読み込み
PHPでファイルを読み込むときの関数がrequire,includeです。
今まではフレームワークを使っていたのでそんなに意識していなかったのですが、
最近PHPをベタ書きすることがあり、
ハマったことがあったので書いておきます。
PHPでは読み込み元のファイルがカレントディレクトリとして
読み込むファイルのディレクトリも設定されてしまうので
相対パスでrequire,includeを使ってファイルを読み込んでいると
エラーが発生する恐れがあります。
これを解消するのがdirname(__FILE__)で、ファイルの絶対パスが取得できます。
使い方はこんな感じ...
require('../application/get_event.php');
--> require(dirname(__FILE__) . '/../application/get_event.php');
注意点としてはdirname(__FILE__)では最後のスラッシュがとれていないので
文字列でパスを指定する初めにスラッシュが必要になる点です。