phpでrequire_onceするときの相対パス

phpでrequire_onceで相対パスを使って読み込むときにエラーになった。
そのときに色々と調べてみると、
PHPでは、「実行したファイルのあるディレクトリが常に実行時のカレントディレクトリになる」っていう規則があるためエラーとなるらしい。
さらに、この問題は、実行ファイルのディレクトリではなく、参照しているファイルのディレクトリを基にパスを取得することで回避することができるので、その方法をメモしておく。

回避方法は、dirname(__FILE__)を使うことである。
dirname(__FILE__)は、実行中の自分自身へのパスを返すので、ここからの相対パスを指定すればよい。
(パスの最後に/は付かないので、要注意。)

<?php
require_once(dirname(__FILE__)."/drop.php");       //現在のディレクトリにあるdrop.phpを読み込む
require_once(dirname(__FILE__)."/down/image.php"); //現在のディレクトリの下にあるdownディレクトにあるimage.phpを読み込む