【问题标题】:Absolute Path for Shared Servers and Local Servers with PHP for CSS使用 PHP for CSS 的共享服务器和本地服务器的绝对路径
【发布时间】:2013-03-11 10:05:26
【问题描述】:

我已经搜索了一个可以跨多个项目使用的一站式解决方案,但我还没有找到任何可以工作的东西。

所以当我建立一个网站时,我使用 PHP 包含在整个网站中使用的网站的页眉、导航和页脚。

所以对于包含页眉、导航、正文和页脚的模板文件,我会这样做:

<?php include 'views/headerHTML.php'; ?>

<?php include 'views/headerNav.php'; ?>

<div id="main">

<!--content-->

</div><!--main-->

<?php include 'views/footer.php'; ?>

现在我的 CSS 调用行与任何 JS 或跟踪 sn-ps 一起位于 headerHTML 中。

如果网页位于多个文件夹中 - 那么包含必须相对于根文件进行更改

<?php include '../../views/headerHTML.php; ?>

但是其中包含的 CSS 和 JS 引用会变得不正确,因为它是相对于 ROOT 编写的

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

我在本地使用 WAMP,我所有的项目都基于与多个提供者(GD、fatcow 等)共享的虚拟服务器,并且它们都有自己古怪的根引用等。

我尝试使用诸如

之类的解决方案
$_SERVER['DOCUMENT_ROOT']
define('ROOT', dirname(__FILE__));

但我似乎无法让他们在我的本地服务器和他们的虚拟服务器上工作。我想要的是,无论我的网页在文件夹层次结构中有多深 - 页眉、导航、页脚中引用代码 sn-ps 或位于其各自文件夹中的实用程序的引用都将被正确调用。

我一直在做的是设置特定的包含,将其中的引用更改为这样:

<?php include '../../views/headerHTML_DoubleFolder.php; ?>

这适用于深度为两个文件夹的页面。

我 100% 确定这可能是我能做的最糟糕的事情,并且首先否定了这样做的目的

请来人愚弄我,教我一些新东西=D!

我很感激。

编辑---------------

问题示例 =

localhost/site/login/login.php 调用:

<?php include '../views/headerHTML.php'; ?>

在 headerHTML.php 文件中有:

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

正如您所见,当 login.php 通过 headerHTML 调用它时,css 位置将不正确

在css href中添加/或./或dirname(FILE)仍然不会在访问login.php时加载样式表

【问题讨论】:

    标签: php html css relative-path absolute-path


    【解决方案1】:

    您可以使用路径,例如 /css/style.css。

    【讨论】:

    • 文件夹中相对于 root 的页面没有加载 css
    • 你能分享请求头文件的路径吗?
    • localhost/site/login/login.php for locahost www.site.com/login/login.php for www
    • CSS文件存储在哪里?
    • localhost/site/css/style.css 和 PHP 调用的 include 是 include '../views/headerHTML.php'; (对于相对于根目录位于单个文件夹中的页面)
    【解决方案2】:

    尝试使用“./addresshere”。

    示例域:www.test.com
    假设您的网站位于以下文件夹中:www.test.com/portal
    并且您的 CSS 已开启:www.test.com/portal/css

    CSS 调用示例:

    <link type="text/css" rel="stylesheet" href="./portal/css/test.css" />
    

    ./ 让您通过根(主)目录。在 localhost 上,./ 为您提供 localhost 地址

    【讨论】:

    • ./ 不适用于文件夹中的页面 - css 未加载
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    相关资源
    最近更新 更多