尝试链接到家庭计算机上的根目录


Attempting to link to root directory on home computer

我正在尝试在我的计算机上建立一个网站,但我在从网站上的任何地方链接到我的根目录时遇到问题。我知道我可以根据需要多次使用 ../ 向上 1 个目录,但我需要一种方法来链接到我的根目录而不使用整个地址,这样我就可以在我的 PHP 页面中使用"绝对链接",我想在我的网站上使用,以便于编辑。有人告诉我,/会带我回到根目录,但它在我的计算机上不起作用。

这是我最深的文件的地址(在根目录的第三个目录中(http://localhost/_Website%20Files/cats/articles/_Blank-Cats2.php

我想要的文件在中间的_Website文件中。但这是一个文件夹 INSIDE localhost,我相信它被用作根。Localhost中有一个名为test.php的文件,我试图链接到该文件以测试LocalHost是否被用作根目录,但它没有出现在_Blank-Cats2中.php我在那里尝试过。(这有意义吗?在_Blank-Cats2的某个地方.php应该有一句话说"网站的Php测试",但它没有出现。

另外,我正在使用MAMP作为我的php本地主机。如果这对任何人有帮助。

我做错了什么,还是尝试链接到计算机上的根目录时出现问题?

------编辑------我已经将我的根目录更改为_Website文件,现在我的一些/links 可以工作,但其他的则不起作用。

例如,在我包含在_Blank-Cats2.php页面中的Social-Media-Menu.php文件中,使用/images/facebook.png来定位图像。但是,我无法使用/Social-Media-Menu.php来查找和包含 php 文件,我必须使用../../Social-Media-Menu.php否则它将无法正常工作。此外,我能够从保存_Blank-Cats2.php页面链接到我的样式/styles.css页面,但它不适用于我的 php 页面。我也能够使/images/logo.gif工作。

所以基本上我可以使用/链接到我的/images目录,但不能链接到根目录本身中的任何内容。为此,我需要使用../../../ 也许我只会为 php include 创建一个新目录,看看这是否能解决任何问题。

------编辑-------所以我创建了一个名为PHP-includes的新目录,并将我想要包含的所有文件放在其他地方。 header.phpmenu.php等。但是当我去使用/PHP-includes/header.php时,它不起作用。

但是,我注意到正在工作的元素是基于html/css的。我的/styles.css在工作,我的/images/logo.gif在工作。唯一不起作用的是我试图包含在 PHP 中的东西,所以我认为这与 PHP 的工作方式有关。会是这样吗?

-----编辑-------啊哈! /不适用于 PHP,我在这里发现 https://css-tricks.com/php-include-from-root/所以我想我需要弄乱我的 PHP 代码才能让它运行并做我想让它做的事情。如果您有任何关于如何做到这一点的提示或技巧(我发布的该页面上列出的示例对我来说没有意义(,请随时在下面发布 =(

相对路径不能很好地处理您的 PHP 文件。我在这里给你的解决方案...

如何在不使用整个地址的情况下链接到不同目录中的文件?

。仅适用于客户端资源(HTML/CSS/Images(。如果你想在你的PHP代码中获取根目录,你必须使用$_SERVER["DOCUMENT_ROOT"]

然后我们将对所有包含使用这样的东西:

  <?php include($_SERVER["DOCUMENT_ROOT"] . "/your/path.php"); ?>

您必须了解某些资源是在服务器端(PHP Server(加载的,而哪些资源是在客户端(浏览器(加载的。这就是为什么你不能做一个对双方都有效的通用解决方案。