php包含 - 我的代码出了什么问题?

时间:2013-06-13 23:30:57

标签: php templates include base-url

我正在将*.tpl html和php代码文件include用于我网站上的各种网页,以填充页眉和页脚等公共空间。

我正在尝试将代码包含在我网站的正确位置并打印出来。 我使用以下内容:

<?php
include ($_SERVER['HTTP_HOST'] . '/assets/com-footer.tpl';)
?>

我正在使用MAMP localhost运行我的网站,我很困惑如何让它工作?不幸的是我不是职业选手!最初的目的是在baseURL之前获得/assets/com-footer.tpl 我的tpl文件的目录是:localhost/assets

我试图避免为某些页面添加../../assets/file.tpl。我只想要一个标准的PHP代码,当它上传到托管服务器时输出localhost的baseURL和服务器。当我有这个时,我可以把它放在css样式表链接和图像等之前。所有这些都是为了避免我必须添加的../../../字符串,具体取决于保存网页的文件夹。

任何人都可以帮助我解决问题吗?

2 个答案:

答案 0 :(得分:0)

更改

include ($_SERVER['HTTP_HOST'] . '/assets/com-footer.tpl';)

include ($_SERVER['HTTP_HOST'] . '/assets/com-footer.tpl');

答案 1 :(得分:0)

如果您知道服务器上的绝对路径,请自行设置。我有时会这样做以缩短我的PHP代码。在php文件中创建一个名为DOC_ROOT的变量,该文件包含在所有页面中,如配置文件,标题或其他内容。类似的事情。

<?php
    define("DOC_ROOT","/absolute/path/to/httpdocs");
//whatever else after this
?>

然后你可以拨打include(DOC_ROOT.'/assets/com-footer.tpl');并在其他任何地方使用DOC_ROOT。