2013-06-25 78 views
-2

在一個文本文件(例如FILE1.TXT),假設我有一個行PHP的:PHP評估字符串 - 替代?

myArray['index'] = "awesome" 

在我的PHP文件,我有這行文字進口和分配(如file2.php。)到$ string。

有沒有方法來評估$ string的內容而不使用eval函數?

我目前做的:

eval("{$string};"); 

爲了澄清,我問了原因: 我讀過使用eval是「邪惡」。由於這個原因,我想看看是否有另一種方法來評估存儲在文本文件中的php代碼。我知道這可能看起來很奇怪。你可能會想「爲什麼不把代碼寫在php文件中?」,但是我這樣做的原因並不是我的問題。我只是想知道使用eval的替代方案。謝謝。

+5

在文本文件中做什麼是「行的PHP」?這是唯一的這種線/構造? – Paul

+0

不是。它實際上是在一個XML文件中......但這對於這個問題並不重要。我澄清了我想要問的上面。 – Lebowski156

+1

那麼,它實際上並不是邪惡的eval函數,它的執行文本是邪惡的代碼,無論你用哪種方式來執行它。原因是執行文本作爲代碼會帶來很多未知的安全風險。 –

回答

1

將<?php放在文件的頂部,然後包含()它。但是,如果任何文件的內容來自不受信任的用戶,那麼您的手中就有安全漏洞。

+0

我想我對這個問題還不清楚。我已經在上面闡明瞭它。 – Lebowski156