0

我想知道是否有办法通过 include() 将变量传递给您包含的文件?

我试过了,但出现错误:

include("header_alt.php?img=hey");

有没有办法做到这一点?

谢谢!

4

2 回答 2

2

只需在第一个文件中定义您的变量;例如,在temp.php

<?php
$my_var = 10;

include 'temp-2.php';

die;
?>

并在第二个文件中使用它;temp-2.php

<?php

var_dump($my_var);

?>

它应该可以工作:我得到这个输出,来自temp-2.php

int 10


?img=hey当您从远程服务器请求一些数据时(例如当您使用浏览器在网站上冲浪时) 使用类似的查询字符串语法,而不是在包含同一服务器上的文件时。

于 2009-09-09T18:51:05.303 回答
1

Smarty为这类事情提供了一个非常好的机制。另外,使用 Smarty 只会让 php 应用程序变得更好。

http://www.smarty.net/manual/en/language.function.include.php

变量可以作为属性传递给包含的模板。任何显式传递给包含模板的变量仅在包含文件的范围内可用。在命名相同的情况下,属性变量会覆盖当前模板变量。

在包含模板的范围离开后,所有分配的变量值都将恢复。这意味着您可以在包含模板中使用包含模板中的所有变量。但是在 {include} 语句之后,对包含模板内的变量所做的更改在包含模板内是不可见的。

于 2009-09-09T18:51:22.417 回答