我正在测试我使用 XAMPP 创建的小型博客站点。 PHP 文件在父文件夹中使用 include,但我在同一个 htdocs 文件夹中有一个名为“2016”的文件夹,并且在该文件夹中我有几个月的“1”“2”“3”“4”等。
我将在这些文件夹中的每一个中放置博客文章(带有 html 包含的 php 文件),但是当我执行包含时,只有 html 被加载,图像和 css 都没有。
以下是我尝试过的包含:
<?php
$page_title = 'Test Page';
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/includes/header.html";
include($path);
?>
也尝试过
<?php
include ('/../../includes/sidebar.html');
include ('/../../includes/footer.html');
?>
这两个选项都不起作用。
任何帮助将不胜感激!
最佳答案
这是因为您使用相对路径来加载图像和 CSS。
简单的解决方案是将相对路径设为绝对路径。
你可以这样实现:
1) 在 html head 标签中使用基本路径
<base href="http://localhost/yoursite/">
现在您可以以相对方式加载图像和 css,因为它知道您定义后的基本路径是什么。 现在你可以使用类似的东西
<link href="css/style.css" rel="stylesheet" type="text/css" />
使用 php
$base_url = 'http://localhost/yoursite/';
然后
<img src="<?php echo $base_url; ?>/images/image1.png"/>
关于PHP 包含函数不显示图像或 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38681114/