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サイトを閲覧する場合など)に使用されます。
Smartyは、この種のものに非常に優れたメカニズムを提供します。さらに、Smartyを使用すると、より優れたphpアプリケーションが実現します。
http://www.smarty.net/manual/en/language.function.include.php
変数は、属性として含まれているテンプレートに渡すことができます。インクルードされたテンプレートに明示的に渡された変数は、インクルードされたファイルのスコープ内でのみ使用できます。同じ名前の場合、属性変数は現在のテンプレート変数をオーバーライドします。
割り当てられたすべての変数値は、含まれているテンプレートのスコープが残された後に復元されます。これは、インクルードテンプレート内のインクルードテンプレートのすべての変数を使用できることを意味します。ただし、インクルードされたテンプレート内の変数への変更は、{include}ステートメントの後のインクルードテンプレート内には表示されません。