无法弄清楚为什么根相对链接不起作用

时间:2015-02-26 13:28:01

标签: php html apache directory xampp

我正在努力使我的网络应用程序更具可移植性,但我却无法在子目录根目录中建立链接。

  

/ website - 让我们说这是我的网站目录。
/ inc -   那是我的包含页眉,页脚和最终我的目录   配置文件。

网站目录中的所有内容都可以正常工作。

我试图将我的页眉/页脚文件包含在..

的收据目录中

include("/website/inc/header.php");

但是我得到了..

  

警告:include(/website/inc/header.php):无法打开流:否   f:\ xampp \ htdocs \ website \ receipt \ index.php上的此类文件或目录   第8行

     

警告:include():无法打开' /website/inc/header.php'对于   包含(include_path ='。; F:\ xampp \ php \ PEAR')in   第8行的F:\ xampp \ htdocs \ website \ receipt \ index.php

在我的浏览器中。我尝试删除 / ,甚至添加 localhost htdocs(这只是一次绝望的尝试,让它发挥作用)。我做错了什么,如何纠正?

1 个答案:

答案 0 :(得分:0)

这是因为以/开头的文件路径被视为从文件系统的根开始的文件路径。您有F:\作为根,这就是为什么这样的目录不存在。

在您的情况下,您必须执行../../website/inc/header.php之类的操作,但这取决于脚本所在的文件夹的位置。

PHP(但不是HTML!)适用于整个文件系统,而HTML仅适用于网站的主目录。

顺便说一下,Windows上不允许使用这样的文件路径,它们只能在类UNIX系统上使用。如果/这样的构造在您的服务器上运行,那就很奇怪,因为Windows有\作为路径分隔符。您的代码看起来像..\..\website\inc\header.php。请注意,您可能需要通过添加另一个反斜杠来转义反斜杠,例如\\