Php 理解相对路径和绝对路径

Php 理解相对路径和绝对路径,php,path,require-once,Php,Path,Require Once,想知道为什么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\ww

想知道为什么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
这种情况经常发生,我想纠正这个恼人的反复出现的问题。有没有一种方法可以让我的web服务器像我自己要求的那样从网站的根目录中读取?或者我误解了正在发生的事情

这就是目录结构的外观

使用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

c:\wamp\www\bookWindows上的绝对路径以驱动器号开头。你可以用

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';