PHP的基本位置

Den*_*nis 2 php wordpress

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

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

<?php include('../php/header.php'); ?>
Run Code Online (Sandbox Code Playgroud)

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

<?php
/* Path prefix so relative links work correctly */ 
$path = "../";
?>
Run Code Online (Sandbox Code Playgroud)

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

<a href="<?php echo($path); ?>index.php" title="Home">Home</a>
Run Code Online (Sandbox Code Playgroud)

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

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

Gal*_*len 5

说你的配置文件在/system/config.php.在config.php中添加...

define( 'DIR_BASE', dirname( dirname( __FILE__ ) ) );
define( 'DIR_INCLUDES', DIR_BASE . 'includes/' );
Run Code Online (Sandbox Code Playgroud)

现在,只要你的config.php文件没有移动,你的基本目录将始终是它下面的2个目录.您可以在包含config.php的所有文件中使用这些文件.

require( DIR_INCLUDES . 'header.php' );
Run Code Online (Sandbox Code Playgroud)

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