无法在PHP中使用绝对路径包含文件

时间:2018-11-30 01:16:14

标签: php include

我有一个网站位于/proj/hcr/(Apache DocumentRoot是/ proj)。我正在尝试使用绝对路径包含文件,但是它说该文件不存在,即使确实存在。代码行如下:include_once '/hcr/spaces-api/spaces.php';

这是我要包含的文件的目录结构

directory

1 个答案:

答案 0 :(得分:0)

您的问题标题说包含绝对路径在PHP中不起作用,但是在您的问题中,我读到:

  

我正在尝试使用相对路径包含文件,但是它说该文件不存在,即使存在。代码行如下:include_once '/hcr/spaces-api/spaces.php';

我假设您尝试在文件'/hcr/spaces-api/spaces.php'中添加文件(这应该是绝对路径)。

默认情况下,绝对路径不是从根目录开始的,所以'/hcr/spaces-api/spaces.php'不是绝对路径,因为它缺少根目录的路径。您需要提供计算机上文件的完整路径。例如,Windows计算机(使用xampp作为Web服务器,安装在C上)上的绝对路径为:

C:/xampp/htdocs/hcr/spaces-api/spaces.php

您应使用以下代码:

include_once $_SERVER["DOCUMENT_ROOT"].'/hcr/spaces-api/spaces.php';

因此,$_SERVER["DOCUMENT_ROOT"]将为您提供到根目录的路径,然后您可以将其与根目录中文件的路径连接起来。