使用PHP读取PHP文件并输出到屏幕上
看完这篇文章,你一定忘不掉htmlentities的用法
背景
今天有个需求,就是一个PHP开发的网址中,有一个页面可以提供给用户修改已经存在的PHP文件中的代码,并POST到服务器上保存。
每次将读出的内容输出到屏幕上的时候,都是空白的。这个问题困扰了我很久,如果你遇到的不是类似的问题,或者类似的反馈结果,这篇文章可能对你的帮助很小。
解决方法
这里介绍的是背景中的POST部分,读代码部分相同。
首先是接受POST动作内的代码是,code为POST过来用户修改的代码。
echo $_POST['code'];
从文件中读出的内容到文件上是注释,这是应为php并不是html代码,需要转换一下,添加htmlentities函数

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

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

需要添加code标签,添加后
<pre><code><?php echo htmlentities($_POST['code']); ?></code></pre>

顺便把读文件部分的核心代码页放上吧
<pre class="hljs"><code class="php"><?php $file = "sys/func.php"; echo htmlentities(file_get_contents($file)); ?></code></pre>
使用PHP读取PHP文件并输出到屏幕上的更多相关文章
- 将ASCII码位于32~126的95个字符输出到屏幕上,为了美观
//将ASCII码位于32~126的95个字符输出到屏幕上,为了美观.要求小于100的码,前面加一个0,每八个转行class shijixing{ public static void main(St ...
- FileReader实现读取文件内容并输出到屏幕上
FileReader与FileInputStream都是从文件读数据,而前者一次读一个字符,后者一次读一个字节(在Unicode编码环境下1个字符=2个字节) package com.janson.d ...
- FileInputStream实现读取文件内容并输出到屏幕上
java输入输出流是站在程序的角度来说的.从文件中读取数据用输入流,向文件中写数据用输出流. package com.janson.day20180827; import java.io.FileIn ...
- c++ 读取txt文件并输出到控制台
代码如下: #include "stdafx.h" #include<iostream> #include<fstream> #include<cst ...
- 接收键盘输入的字符串,用FileWirter类将字符串写入文件,用FileReader类读出文件内容显示在屏幕上
public class SY63 { public static void main(String[] args) throws Exception { System.out.print(" ...
- Android studio 读取properties文件
System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath( ...
- 第一节:python读取excel文件
写在前面: (1)Excel中数字格式int(1),读出的是float(1.0)类型,导致传参时造成不同,强制转换时,int(str(1.0))在2.7版本又会报错ValueError: invali ...
- Linux 命令——tee 重定向到文件并打印到屏幕
需求: 源于我一个业务实现,需要通过shell脚本去调Java程序,并且能够拿到Java里面的返回值. 思路: 众所周知,通过shell调用Java,肯定是通过 Java -jar xxx.jar 命 ...
- c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...
随机推荐
- [转帖]你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下)
你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下) https://www.ijiwei.com/html/news/newsdetail?source=pc&news_id=7177 ...
- [转帖]关于USB3.0以及type-C
忘记来源页面了.. 但是昨天晚上 usb 4.0 发布了 跟雷电C 安全一样的标准 双向40gb 的带宽. 而且 以后只有usb type-C的接口了. 我们办公机器上面的 typeC 同事用 ngf ...
- 请给出一个Scala RDD的HelloWorld例子
[学习笔记]package comimport org.apache.spark.rdd.RDDimport org.apache.spark.SparkConfimport org.apache.s ...
- Reactor 线程模型以及在netty中的应用
这里我们需要理解的一点是Reactor线程模型是基于同步非阻塞IO实现的.对于异步非阻塞IO的实现是Proactor模型. 一 Reactor 单线程模型 Reactor单线程模型就是指所有的IO操作 ...
- nginx访问量统计 日常分析
nginx访问量统计 0.查询某个时间段的日志 cat appapi.dayutang.cn.access.log |grep 'POST'|grep '2019:10' > 20191059. ...
- java项目上线的流程(将web项目部署到公网)
本博文来源于网络,原文的地址在本篇博文最下方. 如何将java web项目上线/部署到公网 关于如何将Java Web上线,部署到公网,让全世界的人都可以访问的问题.小编将作出系列化,完整的流程介绍. ...
- Winform界面GridView中XCDataGridViewCheckBoxAllColumn改变触发事件
1.首先利用CurrentCellDirtyStateChanged事件 监测状态改变后判断是否有未提交的更改,若有则提交 private void CurrentCellDirtyStateChan ...
- 客户端相关知识学习(九)之h5给app传递数据
方法一: 情况一: if (window.JdAndroid){ window.JdAndroid.setPayCompleted(); window.JdAndr ...
- [转载]什么是白化(whitening)?
[转载]什么是白化(whitening)? 来源:https://blog.csdn.net/hjimce/article/details/50864602 白化whitening 原文地址:http ...
- 用Leangoo做敏捷需求管理
转自:https://www.leangoo.com/9229.html 传统的瀑布工作模式使用详细的需求说明书来表达需求,需求人员负责做需求调研,根据调研情况编制详细的需求说明书,进行需求评审,评审 ...