【问题标题】:use header.php file in different directories在不同目录中使用 header.php 文件
【发布时间】:2019-07-20 12:04:05
【问题描述】:

我有一个这样结构的网页:

/var/www/html/webpage/
                    |-stands/
                    .      |-header.php
                    .
                    |-images/
                    .      |-picture.png
                    .
                    |-login/
                    .      |-login.php
                    .
                    |-index.php

我想在 login/login.php 和 index.php 这两个文件中使用stands/header.php。我将它包含在两个文件中

<?php
include("stands/header.php")
?>

<?php
include("../stands/header.php")
?>

在 header.php 使用 images/ 文件夹中的图形(如 images/picture.png)之前,这可以正常工作。

我在header.php中使用图片如下:

<img src="../images/picture.png" alt="nice pic"/>

我在 login.php 文件中获得了 picture.png,但在 index.php 中我获得了nice pic

看起来,如果我包含 header.php 文件,它查找图片的目录不是从 header.php 的目录开始,而是从包含它的目录开始(例如从 index.php,它看起来在 index.php 的第二个父目录中,即html/(因为../ 并且没有images/ 文件夹,所以我得到nice pic 而不是.png 文件。

我现在的问题是:

有没有办法包含全局图形,意味着它总是(总是)寻找同一个目录?

感谢您的帮助,并对我的结构不好的问题感到抱歉(我不是英语,不知道如何更简单地问这个问题)

【问题讨论】:

  • 您网站的 URL 是否指向文件夹 webpage
  • @AJ 还没有,但我会配置它
  • 那你可以试试我的回答,看看是否适合你。
  • 只是想要更新。 this solution 对你有用吗?

标签: php html webserver apache2


【解决方案1】:

来自img 标签的图像是在客户端加载的,因此它与php 无关。您的图像标签src 必须与访问者当前位置相关。

您可以使用像A J 的答案这样的绝对路径,这将是一个解决方案,但在我看来,您的login.php 文件应该与index.php 位于同一目录中。除非你真的需要那样,否则我认为你应该尝试将将直接加载的 php 脚​​本放在站点的根级别,并将脚本和图像包含在文件夹中。

【讨论】:

    【解决方案2】:

    尝试为您的图像提供绝对路径。

    <img src="<?php echo 'http://'.$_SERVER['HTTP_HOST']; ?>/images/picture.png" alt="nice pic"/>
    

    它将获取当前 URL 并将其与图像路径合并。

    【讨论】:

      【解决方案3】:

      像上面一样使用,因为在您的情况下文件路径应该正确不是访问图像文件的正确方法。

      【讨论】:

        猜你喜欢
        • 2017-04-25
        • 2012-02-22
        • 2016-02-12
        • 1970-01-01
        • 2019-03-20
        • 2018-04-12
        • 2021-02-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多