Автор Тема: Выполнение include, указанного в переменной.  (Прочитано 5428 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Некрасивая тема, знаю, но как иначе сказать не придумал.

Есть переменная, содержащая буквально следующее:

$str = \'This is a $string with 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’нулся!

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
ob_start();
include \'file.inc\';
$content = ob_get_contents();
ob_end_clean();
$str = \'This is a \'.$string.\' with \'.$content.\' my \'.$name.\' in it\';
Евгений aka Razor,

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Хм.... пришло уведомление,  что Britva ответил на подписанную вами тему, а ответа-то и нету :))
Развели :) :)

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Извиняюсь, ответ есть. Видимо кэш глюкнул в IE :(

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Ответил :))
просто сначала не так понял вопрос, и не то написал :)
Евгений aka Razor,

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Хм... этот  варинат я знаю.... :(

Ну а если в файле полно таких include\'ов. Я так понимаю их надо будет через рег все выцепить, потом про-ob_get_contents() в $content[], а потом вставлять поиском заменой?...


а по проще получается никак нельзя?

Оффлайн Oak

  • Дерево
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1481
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Еще - если тебе надо одну строку только:

$a=FILE("file.inc");

$b="sadahdgh".$a[0]."jdhsfjshfksdfh";
[основной броузер - SeaMonkey] Netscape Communicator 4 - is the best :) // see sources

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
2Oak: Да нет, в file.inc что-то типа





echo "So, what?!";

?>


вот-с..

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
eval
с уважением,
магистр белой магии.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Дык что eval ?!
eval - это когда надо

$str = \'This is a $string with my $name in it.
\';
echo $str;



Если в $str есть include?
Может я просто не так записываю?
2Dm:  можно пример?

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выполнение include, указанного в переменной.
« Ответ #10 : 12 Мая 2002, 20:46:07 »

eval(implode(file("code.php"), ""));

только в code.php не должно быть тегов php .

вообще, имхо, лучше сделать так, как Бритва посоветовал,
если include любого php скрипта.
с уважением,
магистр белой магии.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Выполнение include, указанного в переменной.
« Ответ #11 : 12 Мая 2002, 21:02:46 »
Так в том-то и дело, что в code.php испоняемый код! В котором и есть.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Выполнение include, указанного в переменной.
« Ответ #12 : 12 Мая 2002, 21:07:10 »
А ведь работает..... :-[         ]
Работает!!! :)

Спасибо огромное!!!!!!!!!!!!!!!!!

P.S. А почему лучше через ob_get_contents();? Это так, из любопытства.

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Выполнение include, указанного в переменной.
« Ответ #13 : 12 Мая 2002, 21:12:23 »
ob_get_contents - берет то, что выводит include в браузер, т.е. перехватывает поток и записывает в переменную.
Евгений aka Razor,

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Выполнение include, указанного в переменной.
« Ответ #14 : 12 Мая 2002, 21:52:48 »
2Britva: а чем это (ob_get_contents) будет отличаться от eval(implode(file("code.php"), "")); ?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28