php - 使用 dirname 和 img src 在 apache 网络服务器上显示 Logo

标签 php html css image src

这是我的基本实践网站的结构

/opt
    /lampp
        /htdocs
            /web
                /img
                    logo.png
                /tests
                    HomeView_test.php
                /view
                    HomeView.class.php
                index.php

我最初的问题是我正在使用自动加载和运行来自 index.php 的 HomeView.class.php 和来自 HomeView_test.php 的 HomeView.class.php 如果我只硬编码来自一。因此,例如,如果我硬编码从 index.php 调用时工作的路径,那么当从 HomeView_test.php 调用时它也不会工作

这是 HomeView.class.php 中的内容

<?php
class HomeView {
  public static function show() {  
    $pathDir = dirname(__FILE__);
    $fileName = $pathDir . DIRECTORY_SEPARATOR . "../img/logo.png";
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>Website</title>
    </head>
    <body>
        <header>
            <img src="<?php echo $fileName;?>" alt="Logo" width="150" height="100"/>
            <nav>
                <ul>
                    <li>
                        <a href="#">About</a>
                    </li>
                    <li>
                        <a href="#">Contact Us</a>
                    </li>
                </ul>
            </nav>
        </header>
        <footer>
            <p>
                &copy 2015 Peeps, Inc. All Rights Reserved.
            </p>
        </footer>
    </body>
</html>
<?php
  }
}
?>

我认为 src 中路径的 php echo 可以工作,但它仍然没有加载 Logo 图像。

img/logo.png 中的硬编码仅在 index.php 中调用 HomeView.class.php 时有效,但当我从 HomeView_test.php 中调用它时,它需要 ../img/logo.png 来显示 Logo

有人知道我做错了什么吗?也许 img src 和 php 语法不对,因为我以前从未尝试过将 php 与 img src 结合使用。

最佳答案

在这种情况下,当您想要显示网页中的图像时,无论您使用何种后端语言,都需要提供媒体的公共(public)服务器路径。

所以当你有这个声明时:

<img src="<?php echo $fileName;?>" alt="Logo" width="150" height="100"/>

当以 HTML 格式输出时,变量 $filename 应该类似于 /img/logo.png

您的目标是提供 url 的公共(public) Web 位置,而不是服务器位置。

关于php - 使用 dirname 和 img src 在 apache 网络服务器上显示 Logo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32826821/

相关文章:

html - 如何以不同方式为网页着色?

javascript - 随机悬停元素需要悬停在特定的 div 上

c# - C# 和 PHP 中的 TripleDES 加密结果不一样(PKCS7、ECB)?

javascript - 可编辑的 Div 边框样式

php - 无法连接到远程主机上的 mysql 数据库

javascript - 选择文字颜色

java - 显示表格标签以在单列中创建多个链接

css - 如何根据屏幕宽度计算 CSS 缩放因子?

php - 从没有 og 标签的网站在 whatsapp 上分享图像内容和 url

php - 正则表达式中 '\G' anchor 有什么用?