Здравствуйте.
Заранее извиняюсь. Почитал рекомендации к публикации, но вот ответ уже 2 дня ищу.
Можно считать что я новичок, так как хоть и имеется опыт в несколько лет в php, это было больше похоже на факультатив к административной работе. Потому могу элементарно не знать каких-то простых команд из php.К сути:
Мне необходимо значение переменной выполнять как код. Долгое время гуглю и исследую дакдакго, но в основном результаты идут с формулировкой как присвоить значения переменной, как вызвать переменную, как вызвать код используя заголовки http итп.
Возможно ли как то выполнить код из переменной, например:$var = ‘echo «123»; echo «456»‘;
Если возможно, то можно ли тогда вызывать функции с передачей параметров?
$var2 = ‘function s(int $a, int $b = 0):int{$c = $a + $b; echo $c} echo s(3, 4);’;Какие команды изучить?
Спасибо
Теоретически, можно вызвать eval, можно запустить интерпретатор, как внешний процесс.
Практически, лучше такого избегать, особенно если этот код будет приходить от пользователя. Это нехилая такая дыра в безопасности
Если на 100% уверены в источнике кода, то можно как-то так:
PHP:
<?php function eval_php($matches){ return $code; } function replace_php($string){ } $var1 = ‘<?php echo «123», «456»; ?>’; $var2 = ‘<?php function s(int $a, int $b = 0):int { $c = $a + $b; return $c; } echo s(3, 4); ?>’; $string = « <p>Какой-то текст со вставкой php-кода из переменной \$var1: $var1</p> <p>Еще текст со вставкой php-кода из переменной \$var2: $var2</p> <p>Не делайте так, если не контролируете на 100% источник кода</p> «; echo replace_php($string); /* Какой-то текст со вставкой php-кода из переменной $var1: 123456 Еще текст со вставкой php-кода из переменной $var2: 7 Не делайте так, если не контролируете на 100% источник кода */ ?>
Похожие записи:
- Помогите конвертировать функцию из JS на PHP
- Класс, показывающий формат, аналогичный var_dump v1.0.5
- Декодирование пакетного сценария, который использует FFMPEG, EXIFTOOLS и EXIV2 для создания панорамных изображений VR180 и VR360, таких как Google Cardboard
- Как убрать дату постов, которую выводит Yoast Seo
- Добавление итераторов в класс оболочки C ++ sqlite