2013-09-03 7 views
0

Возможно ли выполнить PHP-код в эхо? Мне нужно это, чтобы закончить мою работу, но все, что я пытаюсь, кажется бесплодным; Я часто сталкиваюсь с пустой страницей браузера или с некоторыми ошибками.Echo Execute PHP Code

Это не должно быть с функцией echo func. Вот пример кода, который я хотел бы скомпилировать. Просто образец ничего не кричал. Echo - это просто пример, я бы поставил более сложный и расширенный код на место эха, но я хотел бы начать с простых вещей, подобных этому.

<?php $code = "<?php echo '123'; ?>" echo $code; ?> 
+1

Почему вы пытаетесь эхо PHP-кода? Какая у вас настоящая цель? Почему вы не можете просто ' '? Это возможно *, но я не хочу предлагать решение, потому что, вероятно, лучший способ. –

+0

Вы читали то, что я написал? Я хочу заменить это эхо более продвинутым кодом. И я бы хотел, чтобы первое эхо распечатало результат кода внутри браузера! вот моя цель. Я не буду входить в дьявольски работы моей работы, поскольку он является релевантным И, может быть, ваше решение ???? – user2742982

+1

Я пытался спросить * почему * у вас есть код в виде строки. Это не хорошая практика. –

ответ

8

То есть .... эпическая авария катастрофа. Но по какой-то причине я отвечаю ... Вам нужно будет использовать eval(). Но не делайте этого. Читайте здесь: http://php.net/manual/en/function.eval.php

Возможно, вам просто нужно использовать include 'path/to/file/with/my/code';. Читайте здесь: http://php.net/manual/en/function.include.php

на основе ваших комментариев, я думаю, что вы на самом деле ищете это: echo htmlspecialchars(file_get_contents(__FILE__));

Это будет отображать код PHP, который бежал. Вы можете найти эту строку и удалить ее перед отображением. Вы даже можете написать функцию, чтобы просмотреть все включенные файлы и добавить их в переменную $, которую нужно отобразить, используя ту же логику.

+1

«Если' eval() 'ответ, вы почти наверняка задаете неправильный вопрос». --Rasmus Lerdorf (создатель PHP) –

+0

Действительно Eval? Можете ли вы написать простой код, чтобы показать, что вы имеете в виду! Я знаю, что такое eval и какие угрозы он представляет. Мой код даже не связан с этим! – user2742982

+1

@ user2742982: Как ваш код не имеет отношения к этому? Это * точно * связано с этим. –

0

Php выполняется только на сервере, поэтому, когда вы пытаетесь использовать код эха, вы говорите, что напечатайте этот код. Если вы хотите, чтобы ваш код проверял/запускал логику после того, как он был сервером с сервера, я бы порекомендовал искать javascript и AJAX-запросы.

Удача :)

+0

Он ничего не сказал о запуске после загрузки страницы.Если у него уже есть код в виде строки, он может так же быстро получить 'eval()' 'd. Тем не менее, весь этот вопрос спорный, так как он мог как можно скорее сделать фактический код доступным в своем скрипте и использовать его. – m59

+0

Eval работает так, как я хотел thx. Я знаю риски Thx – user2742982