使用 dirname 和 img src 在 apache 网络服务器上显示徽标
Using dirname with img src to display a logo on apache webserver
这是我的基本练习网站的结构
/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>
© 2015 Peeps, Inc. All Rights Reserved.
</p>
</footer>
</body>
</html>
<?php
}
}
?>
我认为 src 内部路径的 php 回显可以工作,但它仍然没有加载徽标图像。
img/logo.png 中的硬编码仅在 index.php 中调用 HomeView.class.php 时有效,但当我从 HomeView_test.php 中调用它时,它需要 ../img/logo.png 显示徽标
有人知道我做错了什么吗?也许 img src 和 php 语法已关闭,因为我之前从未尝试过将 php 与 img src 结合使用。
在这种情况下,当您想要显示网页中的图像时,无论您使用何种后端语言,都需要提供 public 媒体服务器路径。
所以当你有这个声明时:
<img src="<?php echo $fileName;?>" alt="Logo" width="150" height="100"/>
变量 $filename
在 HTML 中输出时应该看起来像 /img/logo.png
。
您的目标是提供 url 的 public 网络位置,而不是服务器位置。
这是我的基本练习网站的结构
/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>
© 2015 Peeps, Inc. All Rights Reserved.
</p>
</footer>
</body>
</html>
<?php
}
}
?>
我认为 src 内部路径的 php 回显可以工作,但它仍然没有加载徽标图像。
img/logo.png 中的硬编码仅在 index.php 中调用 HomeView.class.php 时有效,但当我从 HomeView_test.php 中调用它时,它需要 ../img/logo.png 显示徽标
有人知道我做错了什么吗?也许 img src 和 php 语法已关闭,因为我之前从未尝试过将 php 与 img src 结合使用。
在这种情况下,当您想要显示网页中的图像时,无论您使用何种后端语言,都需要提供 public 媒体服务器路径。
所以当你有这个声明时:
<img src="<?php echo $fileName;?>" alt="Logo" width="150" height="100"/>
变量 $filename
在 HTML 中输出时应该看起来像 /img/logo.png
。
您的目标是提供 url 的 public 网络位置,而不是服务器位置。