包括使用相对路径的类

时间:2012-05-17 19:48:20

标签: php include relative-path

我正在尝试在我的一个类中使用库,即PHPass库。

这是我的基本目录结构:

/ (root)
    / mysite
        /application
            /models
                User_model.php
            /libraries
                PasswordHash.php

我想在PasswordHash.php中加入User_model.php。我试过这样做:

// Load PHPass library
include_once('..\libraries\PasswordHash.php');
$hasher = new PasswordHash(8, TRUE);

但PHP无法找到该文件:

Message: include_once(..\libraries\PasswordHash.php) [function.include-once]: failed to open stream: No such file or directory

3 个答案:

答案 0 :(得分:1)

您应该使用/而不是\。

答案 1 :(得分:1)

这取决于您当前的工作目录,而不是它现在实际解析的脚本。尝试转储

getcwd() 

函数输出以找出当前工作目录。要使用当前文件路径,您可以尝试

realpath(__FILE__) 

然后构造它的相对路径。此外,为了不混淆斜杠,您可以使用DIRECTORY_SEPARATOR常量来分隔文件夹,例如:

require_once(realpath(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'classes'.DIRECTORY_SEPARATOR.'class.php')

答案 2 :(得分:1)

include_once('../libraries/PasswordHash.php');

尝试使用“/”而不是“\”。