了解相对路径和绝对路径

时间:2011-02-19 04:56:20

标签: 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\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

为什么我不能将filepath用作“/ book / bin /”

谢谢, ç

1 个答案:

答案 0 :(得分: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';