包含的PHP文件的相对路径

时间:2014-09-21 22:30:07

标签: php html css

我有一个具有以下目录结构的PHP项目:

ROOT
    - PUBLIC
        - CSS
        - JS
    - LIB
        - CONTROLLER

所有基本PHP页面都位于PUBLIC文件夹下,而所有控制器,模型等都位于LIB或CONTROLLER文件夹下。在某些情况下,在控制器完成处理后,它将包含要显示的PUBLIC文件夹中的文件。我注意到包含的文件找不到关联的CSS或JS文件,因为它现在使用相对路径/LIB/CONTROLLER

我的问题:

  1. 是否有某种方法可以为包含的文件设置不同的相对路径,而无需修改每个CSS或JS包含行?

  2. 如果我使用header (Location...)转发控件,则不会发生此问题但在某些情况下,我不想这样做而只是包含页面 - 因为我必须从控制器传递重物到使用SESSION的页面。有没有更好的方法来实现这一目标?

3 个答案:

答案 0 :(得分:1)

正如@Jack T所解释的 - 这个问题的解决方案是在包含的PHP / HTML页面中定义<base>元素。我学到的一件事是,在定义元素时使用完整的URL,包括http://

这解决了我面临的问题

答案 1 :(得分:0)

在所有php文件中使用类似的东西:

if(未定义PATH_TO_ROOT)   定义PATH_TO_ROOT ='。'

因此,在您的链接和内容中,始终使用此常量制作网址,如下所示:

url = PATH_TO_ROOT。'/ public / css / mycss.css';

**请注意,这只是一个伪代码,而不是实际的PHP代码。

答案 2 :(得分:0)

/使用/绝对/路径/到处/上/你/网站

<击>做/不/使用/相对/那些 左见,没有/slash,不是很好的做法。