我有四个PHP文件,它们将构成我网站的简单模板:
- functions.php (包含网站的所有主要功能 - 巨大文件)
- index.php (我将使用的主模板文件,将其他三个文件汇集在一起)
- header.php (网站标题)
- footer.php (网站的页脚 - 这是问题发生的地方 )
functions.php - 一个片段。这个函数只是单独使用,而不是在类或任何内容中。
<?php
function LandingPageURL($Phrase, $LPID){
$LandingPageURL = "https://www.website.com/" . trim(strtolower(str_replace("d'","",str_replace(" ", "-", $Phrase)))) . "-" . trim($LPID) . "/";
}
?>
header.php - 没有相关部分。但是,我可以从这里使用functions.php文件中的函数。
footer.php - 包括相关部分。第27行出现错误。
echo '<li><a href="' . LandingPageURL($ar_CHANNELS[$ar_CHANNELS_POS][$v_CH_PHRASE],$ar_CHANNELS[$ar_CHANNELS_POS][$v_CH_LPID])
$ ar_CHANNELS *变量只是我拥有的数组中的值。
index.php - 包括相关部分。
它包含在文件的顶部:
<?php
require ($_SERVER['DOCUMENT_ROOT'] . "/" . "resources/nw/lib/includes/functions.php");
?>
这肯定有效,因为我正在调用functions.php中的其他变量,这些变量都是成功的。
在文件的下面,我首先包含header.php文件,然后以相同的方式包含footer.php文件:
require ($_SERVER['DOCUMENT_ROOT'] . "/" . "page/page-elements/header.php");
require ($_SERVER['DOCUMENT_ROOT'] . "/" . "page/page-elements/footer.php");
当包含footer.php并加载网页时,我收到错误消息:
致命错误:在第27行的C:\ Hosting \ website \ httpdocs \ page \ page-elements \ footer.php中调用未定义的函数LandingPageURL()
我做错了什么,从我的主index.php文件中包含的另一个文件中调用一个函数?我确保使用'require',以便我知道functions.php被拉入index.php。
答案 0 :(得分:0)
相当令人尴尬的是,整个问题是由于没有正确关闭前面的函数引起的。
答案 1 :(得分:-1)
functipns.php
文件必须包含在footer.php
内,如果你想在那里使用它的功能。