Forum Webscript.Ru
Программирование => PHP => Тема начата: Foshvad от 12 Мая 2002, 14:24:05
-
Некрасивая тема, знаю, но как иначе сказать не придумал.
Есть переменная, содержащая буквально следующее:
$str = \'This is a $string with include(‘file.inc’) ?> my $name in it\'
Вопрос: как это обработать так, что в соответствующем месте include’нулся file.inc ?
Чтоб $string и $name показало – понятное дело в eval() взять. А чтоб include выполнить?
Можно $str = \'This is a $string with include(‘file.inc’) my $name in it\' или $str = \'This is a $string with {file.inc} my $name in it\' – главное, чтоб include’нулся!
-
ob_start();
include \'file.inc\';
$content = ob_get_contents();
ob_end_clean();
$str = \'This is a \'.$string.\' with \'.$content.\' my \'.$name.\' in it\';
-
Хм.... пришло уведомление, что Britva ответил на подписанную вами тему, а ответа-то и нету :))
Развели :) :)
-
Извиняюсь, ответ есть. Видимо кэш глюкнул в IE :(
-
Ответил :))
просто сначала не так понял вопрос, и не то написал :)
-
Хм... этот варинат я знаю.... :(
Ну а если в файле полно таких include\'ов. Я так понимаю их надо будет через рег все выцепить, потом про-ob_get_contents() в $content[], а потом вставлять поиском заменой?...
а по проще получается никак нельзя?
-
Еще - если тебе надо одну строку только:
$a=FILE("file.inc");
$b="sadahdgh".$a[0]."jdhsfjshfksdfh";
-
2Oak: Да нет, в file.inc что-то типа
echo "So, what?!";
?>
вот-с..
-
eval
-
Дык что eval ?!
eval - это когда надо
$str = \'This is a $string with my $name in it.
\';
echo $str;
Если в $str есть include?
Может я просто не так записываю?
2Dm: можно пример?
-
eval(implode(file("code.php"), ""));
только в code.php не должно быть тегов php ?>.
вообще, имхо, лучше сделать так, как Бритва посоветовал,
если include любого php скрипта.
-
Так в том-то и дело, что в code.php испоняемый код! В котором и и ?> есть.
-
А ведь работает..... :-[ ]
Работает!!! :)
Спасибо огромное!!!!!!!!!!!!!!!!!
P.S. А почему лучше через ob_get_contents();? Это так, из любопытства.
-
ob_get_contents - берет то, что выводит include в браузер, т.е. перехватывает поток и записывает в переменную.
-
2Britva: а чем это (ob_get_contents) будет отличаться от eval(implode(file("code.php"), "")); ?
-
Foshvad
сам результат ничем отличаться не будет.
ob_+include лучше использовать, имхо, т.к. удобно и производительнее.
include предназначен именно для того, чтобы выполнять и вставлять любой файл с кодом php.
----
ps. хм... не обратил внимание, а ведь это 1000 пост :)