在我的网站和php-include函数中设置正确的相对路径


Set up correct relative path across my site and in php-include functions

我有一个基本的问题,因为我是一个php新手,很难从你已经回答的成千上万的问题中挖掘…所以我请求你进一步的帮助,对不起…

我只需要将header.php召回到HTML页面中。网站结构如下:

-index.php
-header.php
-style.css
-articles/article1.php
-image/header.jpg

对于index.php,我使用

<?php include 'header.php'; ?>

,一切正常!问题出现在像article1.php这样的页面上,即不在根目录中的页面。我试过

<?php include ('http://localhost/phpBB3/header.php'); ?>

因为我现在在本地工作,'localhost/phpBB3'是根目录)但这行不通。我也尝试了

<?php include ('/header.php'); ?>

<?php include ('../header.php'); ?>

几乎不明白这些./的真正含义(我知道,我知道,我真可耻!)

此外,header.php同时指向style.cssheader.jpg(后者位于image文件夹中),并引用在style.css中定义的id和类。我想我可能也遇到了一些问题。

我怎样才能把事情整理好呢?

任何帮助都非常感谢!米娅

http://localhost/phpBB3/header.php不能工作的原因是PHP的include需要一个本地路径。你可以用dirname( __FILE__ )实现你想要的。

include dirname( __FILE__ ) . '/../header.php';

更多关于dirname()

更多关于__FILE__