使用PHP读取PHP文件并输出到屏幕上

看完这篇文章,你必定忘不掉htmlentities的用法php

背景

今天有个需求,就是一个PHP开发的网址中,有一个页面能够提供给用户修改已经存在的PHP文件中的代码,并POST到服务器上保存。
每次将读出的内容输出到屏幕上的时候,都是空白的。这个问题困扰了我好久,若是你遇到的不是相似的问题,或者相似的反馈结果,这篇文章可能对你的帮助很小。html

解决方法

这里介绍的是背景中的POST部分,读代码部分相同。
首先是接受POST动做内的代码是,code为POST过来用户修改的代码。服务器

echo $_POST['code'];

从文件中读出的内容到文件上是注释,这是应为php并非html代码,须要转换一下,添加htmlentities函数
函数

添加后,页面的源码是这个样子了

在控制台看是正常的,页面上却不是
code

须要添加code标签,添加后htm

<pre><code><?php echo htmlentities($_POST['code']); ?></code></pre>

顺便把读文件部分的核心代码页放上吧blog

<pre class="hljs"><code class="php"><?php $file = "sys/func.php"; echo htmlentities(file_get_contents($file)); ?></code></pre>
相关文章
相关标签/搜索