If you execute include("PEAR.php");, PHP nicely includes it becuase "PEAR.php" is in include_path='.:/usr/share/php:/usr/share/pear'

<?php include("PEAR.php"); ?>



However, if you execute include("./PEAR.php");, PHP gives warning it couldn't find it. "./" instructs PHP to ignore include_path='.:/usr/share/php:/usr/share/pear' altogether.

<?php include("./PEAR.php"); ?>



Warning: include(./PEAR.php): Failed to open stream: No such file or directory in /var/www/html/phpkobo/research/php-basic/include-path/task.php on line 40

Warning: include(): Failed opening './PEAR.php' for inclusion (include_path='.:/usr/local/lib/php') in /var/www/html/phpkobo/research/php-basic/include-path/task.php on line 40

ただし、"./"が「ファイルが存在するフォルダ」と解釈できるのは、最初に呼ばれたファイルのみである。「最初に呼ばれたファイル」から「includeされたファイル」で"./"を用いた場合、「呼ばれたファイルが存在するフォルダ」の意味であり、「includeされたファイルが存在するフォルダ」ではない。結局、「includeされたファイル」内で、「includeされたファイルが存在するフォルダ」を指定するには、「dirname(__FILE__)."/"」を用いるしかない。