我最近决定将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目录中的链接引用.
有这样的方法还是有更好的方法来做我正在做的事情?
说你的配置文件在/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)
现在您不必担心自己在网站中的位置.