如何为 JavaScript / CSS 文件回显 PHP 中的通用相对路径?

How do I echo versatile relative paths in PHP for JavaScript / CSS files?

我的主项目文件夹 (/root) 中有 PHP 个文件,主项目文件夹下有一个子文件夹 (/root/sub)。

这两个 PHP 文件都有相同的 <head> 部分,其中引用了相同的 CSS 和 JS 文件,它们位于 /root/css 和 /root/js 分别。为了避免重复代码,我将这个一致的 <head> 部分放入 /root/module 下名为 mod_head.php 的 PHP 模块中。然后我使用 include 将该模块集成到 /root 和 /root/sub.

下的 PHP 文件中

但是,由于/root下的PHP文件和/root/css下的CSS和JS文件的相对路径不同,而include语句只做相对于主 PHP 文件,我无法正确引用 CSS 和 JS 文件。

我该如何设置才能:

  1. 对于/root下的PHP个文件,linkscript标签在<head> 部分的相应文件有 "JS/main.js" 和 "CSS/main.css",并且
  2. 对于/root/sub下的PHP个文件,linkscript标签在<head> 部分有相应文件的“../JS/main.js”和“../CSS/main.css”

我尝试使用 DIR 和 $_SERVER['DOCUMENT_ROOT'],但这些输出与服务器相关的绝对路径,但在搜索后不起作用这些路径在客户端执行。

我最终以一种笨拙的方式解决了它。知道子文件夹叫什么,我只是检查子文件夹名称是否出现在 getcwd() 结果中,如果是,我回显“../CSS/main.css”,如果不是,我为文件路径回显 "CSS/main.css"。