使包含的文件具有其相对目录位置,而不是从其调用的目录位置

时间:2019-01-27 21:36:19

标签: php html

我有一个header.php文件,其中包含我要在不同页面上使用的文件:

<link rel="stylesheet" href="css/nav.css" type="text/css">
<link rel="stylesheet" href="css/main.css" type="text/css">

我将文件放在名为resources的文件夹中,其中包含我所有的CSS文件。我想拥有标题,以便它可以直接链接到css文件,但是当我尝试在网页中包含标题时,它包含存储包含该文件的文件的路径,而不是指向该文件的相对路径。头文件是。如何使它使用头文件的相对路径,而不是包含头文件的文件的相对路径?

我尝试使用其他答案:

include( dirname(__FILE__) . 'css/main.css');

但是,这给了我Not allowed to load local resource并给出了完整的文件目的地,但这是正确的

1 个答案:

答案 0 :(得分:0)

您应该在包含header.php之前定义资源的路径:

define("res_path", "../resources/");
include(res_path."header.php");

然后头文件关心该路径:

<link rel="stylesheet" href="<?php echo res_path;?>css/nav.css" type="text/css">
<link rel="stylesheet" href="<?php echo res_path;?>css/main.css" type="text/css">

在已经具有正确路径的文件中:

define("res_path", "resources/"); 
include(res_path."header.php");