PHP: передать переменную в файл, который вы включаете? - PullRequest
0 голосов
/ 09 сентября 2009

Мне интересно, есть ли способ передать переменную в файл, который вы включаете, через include ()?

Я пробовал это, но получил ошибку:

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

Есть ли способ сделать это?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 09 сентября 2009

Просто определите вашу переменную в первом файле; например, в 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, используется, когда вы запрашиваете некоторые данные с удаленного сервера (например, когда вы используете браузер для просмотра веб-сайтов) , а не при включении файла, который находится на том же сервере.

1 голос
/ 09 сентября 2009

Smarty предоставляет действительно хороший механизм для такого рода вещей. Кроме того, использование Smarty просто делает лучше php-приложений.

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

Переменные можно передавать во включенные шаблоны как атрибуты. Любые переменные явно передан во включенный Шаблон доступен только в пределах объем включенного файла. атрибут переменные переопределяют текущий шаблон переменные, в случае, когда они назван так же.

Все присвоенные значения переменных восстановлено после объема включенный шаблон оставлен. Это означает Вы можете использовать все переменные из в том числе шаблон внутри включены шаблон. Но изменения в переменных внутри включенного шаблона нет видимый внутри включающего шаблона после оператора {include}.

...