質問
include()でインクルードしているファイルに変数を渡す方法があるかどうか疑問に思っていますか?
これを試しましたが、エラーが発生しました:
include("header_alt.php?img=hey");
それを行う方法はありますか?
ありがとう!
解決
最初のファイルで変数を定義するだけです。たとえば、 temp.php
で:
<?php
$my_var = 10;
include 'temp-2.php';
die;
?>
2番目のファイルで使用します。 temp-2.php
:
<?php
var_dump($my_var);
?>
そして、動作するはずです: temp-2.php
からこの出力を取得しています:
int 10
?img = hey
のようなものを使用したクエリ文字列構文は、離れたサーバーにデータを要求するときに使用されます(ブラウザを使用してWebサイトでサーフィンするときなど)同じサーバー上にあるファイルを含める場合ではなく、em>。
他のヒント
Smarty は、この種のことに対して本当に優れたメカニズムを提供します。さらに、Smartyを使用すると、PHPアプリケーションが改善されます。
http://www.smarty.net/manual/en /language.function.include.php
変数はincludeに渡すことができます 属性としてのテンプレート。任意の変数 インクルードに明示的に渡される テンプレートは 含まれるファイルの範囲。属性 変数は現在のテンプレートをオーバーライドします 変数、ある場合 同じ名前。
すべての割り当てられた変数値は のスコープの後に復元 含まれているテンプレートは残ります。これの意味は からすべての変数を使用できます インクルード内のテンプレートを含む テンプレート。しかし、変数の変更 含まれているテンプレート内ではない インクルードテンプレート内に表示 {include}ステートメントの後。