理解相对路径和绝对路径

Posted

技术标签:

【中文标题】理解相对路径和绝对路径【英文标题】:understanding relative paths and absolute paths 【发布时间】:2011-06-30 06:06:42 【问题描述】:

想知道为什么 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

为什么我不能使用文件路径作为“/book/bin/”

谢谢, C

【问题讨论】:

【参考方案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';

【讨论】:

以上是关于理解相对路径和绝对路径的主要内容,如果未能解决你的问题,请参考以下文章

绝对路径和相对路径的区别?

2.6-2.9绝对路径和相对路径

java中的绝对路径和相对路径

相对路径和绝对路径

关于绝对路径与相对路径的理解

java中如何判断web工程中图片的绝对路径是不是存在