2013-06-25 4 views
-2

В текстовом файле (. Например file1.txt), скажем, у меня есть строка PHP:PHP Eval String - альтернатива?

myArray['index'] = "awesome" 

В моем PHP файл у меня есть эта строка текста импортируемого и назначенный (например, file2.php.) до $ string.

Есть ли способ оценить содержимое строки $ без использования функции eval?

я в настоящее время сделать:

eval("{$string};"); 

Для выяснения причины Я спрашиваю: Я читал, что с помощью Eval это «зло». По этой причине я хочу посмотреть, есть ли альтернативный метод оценки php-кода, который хранится в текстовом файле. Я знаю, это может показаться странным. Возможно, вы думаете: «Почему бы вам просто не написать код в php-файле?», Но причина, по которой я это делаю, это не мой вопрос. Мне просто интересно об альтернативах использованию eval. Благодарю.

+5

Что такое «строка php», выполняемая в текстовом файле? Это единственная такая линия/конструкция? – Paul

+0

Нет. Это на самом деле в файле XML ... но это не очень важно для вопроса. Я уточнил, что я пытаюсь спросить выше. – Lebowski156

+1

Ну, на самом деле это не функция eval, которая является злом, ее исполняющий текст - это код, который является злым, независимо от того, каким образом вы это делаете. Причина в том, что выполнение текста в виде кода открывает так много неизвестных угроз безопасности. –

ответ

1

Вставьте файл <? Php в верхнюю часть файла, а затем включите его(). Но если какое-либо содержимое файла поступает от ненадежных пользователей, у вас есть уязвимость безопасности на ваших руках.

+0

Я думаю, что я был непонятен с вопросом. Я разъяснил это выше. – Lebowski156