За последние 24 часа нас посетили 59734 программиста и 1852 робота. Сейчас ищут 1056 программистов ...

Хранение php-кода в переменных

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

  1. cafer

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

    С нами с:
    1 дек 2007
    Сообщения:
    5
    Симпатии:
    0
    Возникла такая проблема - необходимо достать php-код из базы и "исполнить" его. Первое работает, данные перед записью были заэкранированы, перед выводом разэкранированы, но код работать не хочет. Вот код для примера, хранящийся в базе -

    PHP:
    1. test 2007\r\n\r\n<?php\r\ninclude("./system/admin.php");\r\n\r\n?>\r\n\r\n\r\n\r\n\r\n
    В общем, далее эти данные обрабатывались с помощью stripcslashes.

    Потом шел вывод через echo... Я думаю, что я ступил на последнем, может в этом случае нужно вовсе не echo использовать?
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    http://php.net/exec
    Думал об одном, а написал дургое.
    http://php.net/eval
     
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    cafer
    хранить код в базе = плохая примета.
    =)
     
  4. cafer

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

    С нами с:
    1 дек 2007
    Сообщения:
    5
    Симпатии:
    0
    440Hz
    1 - почему, 2 - где тогда хранить, в файлах чтоле?:)
     
  5. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    1 - напряжно. лишние телодвижения. потом надо делать eval(), а это совсем напряжно
    2 - да
     
  6. cafer

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

    С нами с:
    1 дек 2007
    Сообщения:
    5
    Симпатии:
    0
    Спасибо всем
     
  7. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    Если кода много, вместо eval'а можно скидывать код в файл и подключать его инклудом.
    Но как писал 440hz лучше создать папку типа "modules" и хранить все там. А имена файлов уже можно хранить в базе.
     
  8. Anonymous

    Anonymous Guest

    сам то пробовал?
     
  9. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    нет, но пробовал eval'ом... после этого решил не заниматся ...ей и сохранил все в модулях. :-D