我一直在开发一个网站,但我先在我的本地机器上开发。我可以通过浏览器使用http://localhost/whatever访问此内容,实际文件位于/ var / www /下。但是,我的Web服务器上的文件系统结构不同;我的文件在主文件夹中。
我也开始进行重组,以便将模块放在单独的文件夹中,而不是将所有内容放在一个目录中。因此,我正在寻找一种在每种情况下引用我的“基础”目录的方法。鉴于结构可能在未来发生变化,我想要一种方法来引用文件,而无需在上传到我的实时网站后更改这些调用。
EG。 <link rel="stylesheet" type="text/css" href="style.css">
如果我从includes/header.php
拨打此电话,然后从多个不同的文件位置拨打includes/header.php
,则会告诉我由于显而易见的原因找不到style.css
:{{ 1}}不在那些文件夹中!
换句话说,目标是某种相对路径,可以在具有不同目录结构的两个地方之间进行管理。
答案 0 :(得分:0)
有时使用的解决方案是将网站根目录的绝对URL存储到变量中:
$root = 'http://www.yoursite.com';
获得此目的的两种方法:
$_SERVER
中的一个项目确定。注意:您可能更喜欢使用常量而不是变量。
然后,在所有<link>
,<script>
,...标记中,使用该变量来获得正确的绝对路径:
<link href="<?php echo $root; ?>/css/style.css";
当然,这意味着您的style.css
必须始终保留在css
文件夹中 - 但情况可能会如此,不是吗?
答案 1 :(得分:0)
我认为this post正是您所寻找的。 p>
答案 2 :(得分:0)
$_SERVER['DOCUMENT_ROOT']
应获取服务器根路径,也位于“www”文件夹
下方