За последние 24 часа нас посетили 17827 программистов и 1713 роботов. Сейчас ищут 1065 программистов ...

Достаем функцию из текста и выполняем

Тема в разделе "Прочие вопросы по PHP", создана пользователем cafer, 5 дек 2007.

  1. cafer

    cafer Активный пользователь

    С нами с:
    1 дек 2007
    Сообщения:
    5
    Симпатии:
    0
    есть у меня текст, перехваченный из потока, в нем описана функция.
    можно достать ее оттуда и выполнить, не задевая остальной код?
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Чего? Пример покажи хоть.
     
  3. cafer

    cafer Активный пользователь

    С нами с:
    1 дек 2007
    Сообщения:
    5
    Симпатии:
    0
    PHP:
    1.  
    2.  
    3. include("file.php");
    4. $var = ob_get_contents();
    5.  
    6.  
    Это перехват потока вывода, т.е. получаем содержимое файла, в котором находится код (и просто обычный текст) вместе с функцией.

    Пример содержимого файла:

    HTML:
    1.  
    2. <h2>File</h2>
    3.  
    4. <?php
    5.  
    6. function example () {
    7. echo "Working";
    8. }
    9. $vasya='petya';
    10. $array=array('1','2','3');
    11. foreach ($array as $key=>$value)
    12. {
    13. echo "$value";
    14. }
    15.  
    16. ?>
    17.  
    Вот... нужно достать из полученной переменной $var функцию example (); и затем с помощью eval ее выполнить... Проблема - как достать.
     
  4. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Функция сама попадёт в контекст скрипта.

    PHP:
    1. <?php
    2. include("file.php");
    3. $var = ob_get_contents();
    4.  
    5. // вызов
    6. exapmle();
    http://ru2.php.net/manual/ru/ref.outcontrol.php
    В каком месте ты отправляешь функцию в выходной поток?