PHP的基本位置

时间:2009-11-24 18:08:30

标签: php wordpress

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

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

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

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

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

和../可以用../../替换为另一个子目录向下等文件,在页眉和页脚文件中,链接的开头如下:

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

并且一切正常如此......直到我尝试将它与wordpress一起使用,它位于我网站的子目录中。 Wordpress使用动态页面,因此有时页面位于低于其他页面的子目录中,并且链接将无法使用此方法。在我的旧网站设计中,我使用标记设置所有链接引用到我的网站的root / public_html目录。但是,PHP不受此标记的影响。我需要的是一种在博客上为我的include()方法设置/ public_html目录的链接引用的方法。

是否有这样的方法或有更好的方法来做我正在做的事情?

4 个答案:

答案 0 :(得分:5)

假设您的配置文件位于/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' );

现在您不必担心自己在网站中的位置。

答案 1 :(得分:1)

您可以查看$ _SERVER ['DOCUMENT_ROOT']。它将返回文档根目录,如服务器配置文件中所定义。

答案 2 :(得分:0)

你能进入Wordpress管理部门吗?

您不需要将任何文件包含到Wordpress中。它有点独立。或许我误解了这个问题。

就像上面提到的那样,你可以指定$ _SERVER ['DOCUMENT_ROOT']作为你的根,然后建立url。

EG:

<?php

echo '<a href="'.$_SERVER['DOCUMENT_ROOT'].'/subfolder/subfolder/file.php">Link To page</a>';

?>

这有帮助还是你还有问题?

答案 3 :(得分:0)

您最好的选择是使用$ _SERVER ['SERVER_NAME']或$ _SERVER ['DOCUMENT_ROOT'],具体取决于哪一个更适合您的目录遍历需求(文档根目录将允许您比根目录更深入,如果你在你的网络根目录下保留你的包含目录,那将会很有帮助。

虽然不清楚如何弄乱Wordpress,但WP有自己的设置来确定根(在wp_options表中设置)。