可以在php中包含的文件的名称中使用变量吗?
我想基于从另一页传递的变量包含不同的头文件。该变量是$部分。这里是我的代码:可以在php中包含的文件的名称中使用变量吗?
<?php include("header".$section.".php"); ?>
我想基于变量$部分包括headerAbout.php或headerMenu.php或者......。但我得到一个错误:
include(header.php) [function.include]: failed to open stream: No such file or directory
我不知道为什么变量不被连接。有人可以澄清这一点?
鉴于它没有连接在一起,变量没有定义在你试图在include中使用它的地方。你在哪里设定它的价值?
我发现了这个问题。我直接从firefox预览它,并没有给url变量赋予任何值。因此$ section的变量值没有被设置。如果我给的价值在网址中,它的工作正常。 – Brahadeesh
是的,include
language construct只是期望string作为参数值。此字符串值可以来自字符串文字,variable/constant或返回字符串的任何其他表达式(例如函数/方法调用)。
您的错误的原因可能是$section
不包含您所期望的值。
请注意,您应该知道,如果您允许用户输入为文件位置的一部分,则可能容易受到path traversal attacks的影响。所以请确保验证值。
谢谢。请参阅我的评论。 – Brahadeesh
当你在'$ section'上做'var_dump'时会发生什么? –
只是把变量的回声,天气它得到价值或不? –
对不起。我发现了这个错误。请参阅下面的评论。 – Brahadeesh