2015-05-27 43 views
0

我正在制作一个小应用程序让我编辑我的浏览器中的文件。通常这些将是PHP文件。我试图找出一种方法,我可以在页面上使用PHP,同时以文本/纯文本形式打印文件的内容,这样它们不会被执行。如何将PHP输出为文本

我看着进入设置

header("content-type: text/plain"); 

但是如果我包括此没有PHP的呈现在页面上,而我想只是我印刷是纯文本文件。当服务器继续执行PHP时,我也玩过代码和前置标记,无济于事。

+1

这头不应该不影响PHP执行的方式,只影响浏览器如何查看它的接收。 –

回答

4

你不应该改变你输出正常编辑页面的方式。

您可以使用例如file_get_contents()来阅读php文件,并将其直接输出到textarea中。需要注意的是,你需要确保你的PHP文件的内容不破的html:

<textarea name="contents"> 
<?php 
echo htmlspecialchars(file_get_contents('your_file_to_be_edited.php')); 
?> 
</textarea> 
3

我想你可能正在寻找highlight_file()。它甚至包括语法高亮。

只要使用这样的:

highlight_file("phpFile.php"); 
+0

也许我错过了一些东西,但这将如何让OP来编辑文件?如果有的话,它会将html标记添加到php源代码中。 – jeroen

+0

@jeroen嗯,据我所知:*作为文本/纯文本,所以他们不执行* OP有一个部分,他想打印文件,然后他有一些其他代码,他可以编辑文件。 – Rizier123

+0

与往常一样,可能存在多种解释方式;-) – jeroen

0

对于下载:

<?php 
header('Content-disposition: attachment; filename=gen.txt'); 
header('Content-type: text/plain'); 


echo "this is the file\n"; 
echo " you could generate content here, instead."; 
?> 

对于显示:

highlight_file("yourFile.php"); 
+0

这就是如何下载一个文本文件,与如何显示一个用于编辑的php文件非常不同 –

+0

啊是的。我明白你想下载。 –