包含的 PHP 内容似乎无效

Included PHP content does not appear to work

我已经在这里和互联网上查过了,但我无法解决我的问题:

首先,我正在使用 PHP include 命令将其他文件夹中的文件包含到我的各种文件中(我希望我在这里有意义)。

现在解决手头的问题:

  1. 在外观方面一切正常,除了虽然文本加载正常,pictures/icons 加载不正确(见下图):

    如您所见,图标已损坏

  2. 当我点击包含文件的 href 时,我得到了这个,就好像 link 不存在一样:

最后,当我将文件移动到根目录时,一切正常!

但是当我将我的文件(稍后将包含其余文件)移动到它们各自的文件夹时,我遇到了上述问题。

下面是我所做的两个例子:

情况 1: 当所有文件都位于 root_folder

<?php include('../../include_files/footer.php'); ?>

include_files是要包含的所有文件所在的文件夹

(在这种情况下,我有:RootMenu -> include_files -> footer.php <---这是要包含的文件)

案例 2: 当我将文件移动到它们的文件夹时,我使用:

<?php include('../../include_files/footer.php'); ?>

(在这种情况下,我有:RootMenu -> files -> TestsRun -> testfile.php <---这是使用包含的文件)

它加载要包含的文件但带来了上述问题(我使用 Apache - XAMPP)。

当您在 PHP 中包含文件时,图像和其他 "includes" 的路径以当前工作目录开头。这是我要找出您的问题的方法。在脚本的开头,添加以下行:

echo getcwd();

这将向您显示所有图像路径的起始目录。使用 include 时,被包含文件实质上成为主要(或调用)脚本的一部分,因此您应该使用主要或调用脚本的路径作为基本路径。

例如:

如果我的脚本 "main.php" 在 /scripts/stuff 中。如果在 main.php 中,我有一个包含,例如 "include ../../morestuff.php"。当前工作目录仍然是 /scripts/stuff,因此 morestuff.php 中的图像和其他文件的任何路径都将以 /scripts/stuff 开头。我知道我解释得不好。