Friday, April 2, 2010

PHP文件里的include或require以哪个文件的目录为基准?

http://localhost 现有以下文件。

/1.php:

<?php include('2/2.php');


/2/2.php:



<?php include('./3.php');


/3.php:



<?php echo '3';


访问 http://localhost/1.php 得答案。显然是以第一访问文件,即 1.php 所在的目录为基准的,并不是以 include 或 require 所在的文件的目录为基准。这样绕来绕去很头疼,就这么办。在1.php中放置:



<?php define('AP', dirname(__FILE__));


然后



<?php include(AP.'/3.php');