2014-01-05 32 views
-1

我有一个PHP文件,我想通过PHP在textarea中显示。但是当我使用file_get_contents()来显示它时,似乎PHP已经在textarea中显示之前执行过。编码PHP而不执行它

我试图用htmlspecialchars()对它进行编码,但这并不奏效,因为PHP仍在执行。

有没有办法做到这一点或真的不可能?

+3

file_get_contents()函数将__not__执行代码,如果代码是ACCE通过文件系统ssed,请显示您的代码以呈现此 –

+0

请参阅此(可能重复) - > http://stackoverflow.com/questions/6321307/how-to-download-a-php-file-without-executing-it – davidkonrad

回答

1

如果您在file_get_contents()调用中使用一个本地文件系统的路径,例如:

$text = file_get_contents("/var/www/domain.com/filename.php"); 

的PHP将不会被执行。

+0

为什么把这个标记为社区维基? – davidkonrad

+0

我觉得这几乎不是答案,但它解决了问题.... –

+0

我认为你需要清楚你的意思是“本地文件系统”。 'echo file_get_contents('/ var/www/test.php');'当然也能分析PHP,并且在大多数(付费)服务器上,你不能提供完整的本地路径。 – davidkonrad

0

我已经解决了这个问题,首先通过FTP下载文件,所以我会有一个本地文件。然后我用的本地路径打开文件在一个文本与:

echo '<textarea>' . file_get_contents($localPathToFile) . '</textarea>'; 

但因为有一个

</textarea> 

里面的文件,我不得不通过使用来代替:

$filecontents = str_replace("</textarea>","&lt;/textarea&gt;",$localPathToFile); 

现在的代码工作正常,并显示文字区域内的PHP