PHP的基本位置

PHP的基本位置,php,wordpress,Php,Wordpress,我最近决定将PHP合并到我的网站中,但我以前从未使用过它,所以我不熟悉它的功能 我的问题是,我对每个PHP页面的页眉和页脚使用include()方法,如下所示: <?php include('../php/header.php'); ?> <a href="<?php echo($path); ?>index.php" title="Home">Home</a> 这将从/public_html目录导航到我的网站根目录中的/php目录。为了说

我最近决定将PHP合并到我的网站中,但我以前从未使用过它,所以我不熟悉它的功能

我的问题是,我对每个PHP页面的页眉和页脚使用include()方法,如下所示:

<?php include('../php/header.php'); ?>
<a href="<?php echo($path); ?>index.php" title="Home">Home</a>

这将从/public_html目录导航到我的网站根目录中的/php目录。为了说明文件可能位于的不同子目录级别,我在每个PHP页面的顶部添加:

<?php
/* Path prefix so relative links work correctly */ 
$path = "../";
?>

和../可以替换为.././对于一个文件,请关闭另一个子目录,以此类推,在页眉和页脚文件中,链接的前面是这样的:

<?php include('../php/header.php'); ?>
<a href="<?php echo($path); ?>index.php" title="Home">Home</a>

一切都像这样运作良好…直到我尝试将它与wordpress一起使用,wordpress位于我网站的子目录中。Wordpress使用动态页面,因此有时页面位于低于其他页面的子目录中,链接将无法使用此方法。在我以前的站点设计中,我使用标记设置所有指向站点根/public_html目录的链接引用。但是,PHP不受此标记的影响。我需要的是一个方法来设置博客上我的include()方法的/public_html目录中的链接引用


有没有这样的方法或者有没有更好的方法来完成我正在做的事情?

你可以看看$\u SERVER['DOCUMENT\u ROOT']。它将返回服务器配置文件中定义的文档根目录

你能到Wordpress管理区吗

实际上,您不需要在Wordpress中包含任何文件。它有点孤立无援。或者我误解了这个问题

正如上面的人所说,您可以指定$\u SERVER['DOCUMENT\u ROOT']作为您的根目录,然后在此基础上构建url

例如:



这有帮助吗?或者您还有问题吗?

假设您的配置文件位于
/system/config.php
中。在config.php中添加

define( 'DIR_BASE', dirname( dirname( __FILE__ ) ) );
define( 'DIR_INCLUDES', DIR_BASE . 'includes/' );
现在,只要您的config.php文件不移动,您的基本目录将始终位于它下面的2个目录。您可以在包含config.php的所有文件中使用这些文件

require( DIR_INCLUDES . 'header.php' );

现在您不必担心您在站点中的位置。

您最好的选择是使用$\u服务器['SERVER\u NAME']或$\u服务器['DOCUMENT\u ROOT'],这取决于哪一个更适合您的目录遍历需要(文档根目录将允许您深入根目录,如果您在web根目录下保留includes目录,这将非常有用)


不清楚这将如何影响Wordpress,WP有自己的设置来确定根目录(在WP_选项表中设置)。

我理解这一概念,但我不知道如何运行您引用的配置文件以便修改变量。您能解释config.php如何工作吗?您包括了配置文件(包含目录变量)在每个页面中