![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Есть переменная
$code в ней хранится php-код, который необходимо выполнить. В javaScript кажется есть специальная функция для этого, может есть что то подобное и в php? если нет, то остается только такой выход: Записать содержимое переменной в файл и загрузить его. |
|||
|
||||
| lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: 5 Всего: 14 |
функция eval http://ru2.php.net/manual/en/function.eval.php
|
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
||||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 12 Всего: 211 |
||||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Я сталкивался с такими специфическими задачами.
Это или обход запрета register_globals, или вычисление введенной пользователем формулы. |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
azesmcar, я как-то не постеснялся написать обвязку на баше, который вызывал скрипт пхп, который генерировал и компилировал с++. Конечно можно было обойтись и без этого, но так было _намного проще_, а на элегантность со скоростью было класть. Вот только вспомнить бы, что именно я делал...
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 12 Всего: 211 |
Вспомнилась фраза одного нашего "Младшего Научного Сотрудника"
Что я хотел сказать?? ах да И ТЫ ЭТИМ ГОРДИШЬСЯ???? |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Теперь стало все понятно, для выполнения кода, хранимого в переменной, используется функция eval.
Это считается плохим стилем прогроммирования, кроме нескольких исключений. Но, появляется новый вопрос, почему тему переименовали. Разве описанная мною задача - это не метапрограммирование? Что же тогда это такое, на примере php? |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
"Метапрограммирование" на PHP как правило имеет такой вид. |
|||
|
||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
nerezus - Жесть как страшно от одной мысли. Пишешь да пишешь свой велосипед и выкладываешь его на обозрение со спокойной душой и в один прекрасный день натыкаешься на свой код на ###код.ру Сайт зачетный
-------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 12 Всего: 211 |
Кстати насчет обход этого запрета я имел радость наблюдать в одном прекраснейшем проекте, написанном разумеется индусами. Я 4 дня искал место, в котором инициализируется переменная, оказалось все очень банально, парень решил не заморачиваться с присваиванием и просто напросто вызвал extract($_POST) в одной из функций, которая вызывается функцией, которую вызывает другая функция..и так далее. Это сообщение отредактировал(а) azesmcar - 15.12.2009, 07:07 |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
azesmcar, речь, не об extract речь о eval
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 12 Всего: 211 |
я это понял. а я привел в пример другой обход запрета register_globals. Добавлено через 2 минуты и 32 секунды
ну вот..и про extract не забыли Это сообщение отредактировал(а) azesmcar - 15.12.2009, 09:11 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
>И ТЫ ЭТИМ ГОРДИШЬСЯ????
Не горжусь, но и не осуждаю. Это было лучшее решение из тогда доступных. В продакшен это конечно же не пошло, просто было временной подпоркой. Я конечно не отрицаю, что это нехорошо, но иногда просто приходится побыть плохим мальчиком:). -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |