【问题标题】:PHP: Pass a variable to a file you are including?PHP:将变量传递给您包含的文件?
【发布时间】:2009-09-09 18:48:27
【问题描述】:

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

我试过了,但是出错了:

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

有没有办法做到这一点?

谢谢!

【问题讨论】:

  • 这是个糟糕的主意,恕我直言... ;)
  • 这肯定会被滥用并使你的代码一团糟。我肯定会做一些变量的伪名称间隔以避免冲突并使事情更易于维护。

标签: php php4


【解决方案1】:

只需在第一个文件中定义你的变量;例如,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 的内容,用于从远程服务器请求一些数据(例如,当您使用浏览器浏览网站时),而不是在包含文件时在同一台服务器上。

【讨论】:

  • 谢谢您的信息。我一直在使用您的建议,只是想知道一种方法使 var 仅在包含的页面中可见。但生病只是继续这样做。谢谢。
【解决方案2】:

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

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

变量可以传递给包含 模板作为属性。任何变量 显式传递给包含的 模板仅在 包含文件的范围。属性 变量覆盖当前模板 变量,如果它们是 同名。

所有分配的变量值都是 恢复后的范围 包含的模板被留下。这表示 您可以使用所有变量 包括模板内包含 模板。但是变量的变化 包含的模板里面没有 在包含模板中可见 在 {include} 语句之后。

【讨论】:

    猜你喜欢
    • 2010-12-08
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多