2011-02-19 201 views
0

想知道为什么PHP一直告诉我一个文件不存在。了解相对路径和绝对路径

这是我的代码和错误

require_once('/book/admin/bin/class/db.class.php'); 

错误和堆栈跟踪

Warning: require_once(/book/admin/bin/class/db.class.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\book\forms\add.php on line 3 
    Call Stack 
    # Time Memory Function Location 
    1 0.1479 408440 {main}() ..\add.php:0 

这种情况发生了很多,我想纠正这个恼人的问题再次发生。有没有一种方法可以让我的网络服务器从网站的根目录读取,就像我也在问它?或者我误解了正在发生的事情。

这就是目录结构的外观。

使用WAMP服务器

c:\wamp\www\book <- my site root 
c:\wamp\www\book\forms <- where add.php is located 
c:\wamp\www\book\admin\bin\class\db.class.php 

为什么我不能文件路径使用为 “/电子书/斌/”

感谢, Ç

回答

1

在Windows绝对路径开始与一个驱动器号。您可以使用

require_once 'c:\wamp\www\book\admin\bin\class\db.class.php'; 

或者您可以使用相对路径。

查看使用getcwd()时“开始”的路径;这可能是脚本“开始”的目录,例如index.php所在的目录。

echo getcwd(); 

您可以要求相对于这个目录的文件。

但是,我建议你设置一个名为APPLICATION_DIR的常量或类似的东西并从中建立链接。

define('APPLICATION_DIR', 'c:\wamp\www\book'); 
require_once APPLICATION_DIR.'\admin\bin\class\db.class.php';