我想知道是否有辦法將變量傳遞給包含include()的文件?PHP:將變量傳遞給您正在包含的文件?
我試過,但得到了一個錯誤:
include("header_alt.php?img=hey");
有沒有辦法做到這一點?
謝謝!
我想知道是否有辦法將變量傳遞給包含include()的文件?PHP:將變量傳遞給您正在包含的文件?
我試過,但得到了一個錯誤:
include("header_alt.php?img=hey");
有沒有辦法做到這一點?
謝謝!
只需在第一個文件中定義您的變量;例如,在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僅在包含的頁面中可見。但生病只是繼續以同樣的方式去做。謝謝。 – 2009-09-09 18:56:05
不客氣:-)玩得開心! – 2009-09-09 18:59:30
Smarty爲這類事情提供了一個非常好的機制。另外,使用Smarty只是爲了更好的php應用程序。
http://www.smarty.net/manual/en/language.function.include.php
Variables can be passed to included templates as attributes. Any variables explicitly passed to an included template are only available within the scope of the included file. Attribute variables override current template variables, in the case when they are named the same.
All assigned variable values are restored after the scope of the included template is left. This means you can use all variables from the including template inside the included template. But changes to variables inside the included template are not visible inside the including template after the {include} statement.
這是可怕的想法,恕我直言...;) – IProblemFactory 2009-09-09 18:52:58
這當然可以被濫用,使你的代碼一團糟。我肯定會做一些僞變量名稱間距以避免衝突並使事情更容易維護。 – 2009-09-09 18:59:41