我是程序员,我正在接受PHP,我似乎无法搜索这个,所以我希望这不是重复。目前这在header.php的第4行给出了一个错误,它说: 意外的$ end
我知道它正在抱怨语法,但我不完全理解文件如何被解析处理并在运行时执行(因此产生了这个错误)。如果我错过了PHP中的任何核心概念,感谢有人能填补我,我将不胜感激。
的header.php
<?php
if(true){
echo "Helloworld";
?>
body.php
<?php
include('header.php');
echo "The great brown fox jumps over the lazy dog.";
include('footer.php');
?>
footer.php
<?php
}else{
echo "bye bye";
}
?>
答案 0 :(得分:3)
包含的每个文件必须能够自己解析而不会出现语法错误。您的标头具有未闭合if块的语法错误。同样,页脚具有无处不在的else块的语法错误。你不能这样做。
相反,您可以使用以下内容:
// Global variable defined above includes:
$condition = TRUE;
include('header.php');
echo "The great brown fox jumps over the lazy dog.";
include('footer.php');
// header.php
if ($condition) {
echo "hello world";
}
// footer.php
if (!$condition) {
echo "bye";
}
答案 1 :(得分:0)
使用输出缓冲来获取内容比将原始html包含到代码流中更好。
<?php
function get_page_section($path){
if(file_exists($path)){
//grab "output" to the return variable
ob_start();
require($path);
$return = ob_get_contents();
ob_end_clean();
return $return;
}else{
//path not found
throw new Exception('get_page_section('.$path.') not found');
}
}
$header = get_page_section('header.php');
$footer = get_page_section('footer.php');
echo $header.
"The great brown fox jumps over the lazy dog.".
$footer;
?>
答案 2 :(得分:0)
键入以下代码
<?php
if(true){
echo "Helloworld";
}else{
echo "bye bye";
exit();
}
?>
在body.php继续你之前写的
<?php
include('header.php');
echo "The great brown fox jumps over the lazy dog.";
这是解决问题的最简单方法 并希望这会有所帮助