我试图根据从另一个页面传递的变量包含不同的头文件。变量是$ section。这是我的代码:
<?php include("header".$section.".php"); ?>
我试图根据变量$ section包含headerAbout.php或headerMenu.php或....但是我收到了一个错误:
include(header.php) [function.include]: failed to open stream: No such file or directory
我不知道为什么变量没有被连接起来。有人可以澄清这个吗?
答案 0 :(得分:2)
鉴于它没有被连接,变量未在您尝试在include中使用它时定义。你在哪里设定它的价值?
答案 1 :(得分:1)
是的,include
language construct只需要string作为参数值。此字符串值可以来自字符串文字,variable / constant或任何其他返回字符串的表达式(例如函数/方法调用)。
错误的原因可能是$section
不包含您期望的值。
请注意,您应该知道,如果您允许用户输入成为文件位置的一部分,则可能容易受到path traversal attacks的攻击。因此,请务必验证该值。
答案 2 :(得分:1)
工作正常。 $section
可能不包含当前范围中的值或执行中的该值。