包含的PHP内容似乎不起作用

时间:2016-02-05 04:02:09

标签: php image-processing include php-include

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

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

现在谈到手头的问题:

  1. 在外观方面一切正常但除了文本加载正常外,图片/图标无法正确加载(见下图):

    如您所见,图标显示为

    As you can see the icon appears broken

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

    As if the link does not exist

  3. 最后,当我将文件移动到根目录时,一切都很完美!

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

    这是我做的两个例子:

    案例1:所有文件都位于root_folder

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

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

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

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

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

    (在这种情况下,我有:RootMenu - &gt;文件 - &gt; TestsRun - &gt; testfile.php&lt; ---这是使用包含的文件)

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

1 个答案:

答案 0 :(得分:1)

当您在PHP中包含文件时,图像的路径和其他&#34;包括&#34;从当前工作目录开始。这是我追踪您的问题所做的工作。在脚本开头,添加以下行:

echo getcwd();

这将显示所有图像路径应从中开始的目录。使用includes时,包含的文件基本上成为主(或调用)脚本的一部分,因此您应该使用main或调用脚本的路径作为基本路径。

例如:

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