定义文件的绝对路径

时间:2011-04-14 15:12:13

标签: php

我有以下包含文件..

require_once ("config.php");
require_once ("functions.php");
require_once ("session.php");

我想为包含文件定义绝对路径。我尝试过以下代码而没有运气..

你可以帮忙定义一个合适的绝对路径,以便require_once按预期进行。

    defined('DS') ? null : define('DS',DIRECTORY_SEPARATOR);
    defined('SITE_ROOT') ? null: define('SITE_ROOT',DS.'PHP_Files'. DS . 'phpsandbox'. DS.'my_mat'. DS.'my_test');
    defined('LIB_PATH')?null:define('LIB_PATH',SITE_ROOT.DS.'includes');

    require_once(LIB_PATH.DS."config.php");
    require_once(LIB_PATH.DS."functions.php");
    require_once(LIB_PATH.DS."session.php");

我系统中的这3个包含文件存储在J:\ PHP_Files \ phpsandbox \ my_mat \ my_test \ includes中。

提前致谢!

4 个答案:

答案 0 :(得分:1)

好的,所以我认为你要找的是实际的系统文件路径。为此,你可以回应

dirname( __FILE__ ); 

您可以在任何所需的文件中执行此操作,它将显示相对于您的文件的系统文件路径。对我来说就是这样的:

/home2/myusername/public_html/project_name/includes/config.php

所以如果你对“project_name”文件夹感兴趣,你应该有这样的东西:

defined("SITE_ROOT") ? null : define("SITE_ROOT", DS . "home2" . DS . "myusername" . DS . "public_html" . DS . "project_name" );

然后,如果您正在寻找将作为您的图书馆的“包含”文件夹,您应该具有以下内容:

defined("LIB_PATH")  ? null : define("LIB_PATH", SITE_ROOT . DS . "includes" );

希望这会有所帮助。我有完全相同的问题,这对我有用。

干杯,Mihai Popa

答案 1 :(得分:0)

您需要realpath功能。此外,您可以获取get_included_files包含的所有文件,这些文件将返回您在调用函数时所包含的文件的绝对路径数组。

defined('DS') or define('DS',DIRECTORY_SEPARATOR);
$disk_label = '';
if (PHP_OS == 'WINNT') {
    if (FALSE !== ($pos = strpos(__FILE__, ':'))) {
        $disk_label = substr(__FILE__, 0,$pos+1);
    }
}
defined('SITE_ROOT') or define('SITE_ROOT', $disk_label.DS.'PHP_Files'. DS . 'phpsandbox'. DS.'my_mat'. DS.'my_test');
defined('LIB_PATH') or define('LIB_PATH',SITE_ROOT.DS.'includes');

require_once(LIB_PATH.DS."config.php");
require_once(LIB_PATH.DS."functions.php");
require_once(LIB_PATH.DS."session.php");

答案 2 :(得分:0)

尝试在包含路径中包含您的LIB_PATH。

set_include_path(LIB_PATH . DS . PATH_SEPARATOR . get_include_path());

答案 3 :(得分:0)

require_once(dirname(__FILE__).DS."config.php");
require_once(dirname(__FILE__).DS."functions.php");
require_once(dirname(__FILE__).DS."session.php");
检查出来,我认为这很好