我正在尝试为CMS面板制作在线编辑器。因此,如果我在线点击一个文件,我将把文件返回给我,其中包含PHP / HTML等。 现在的问题是,当我使用函数 stream_get_contents 时,我并没有完全回复我想要的东西......
这是获取文件的PHP部分:
$fileAdresRoot = $_SERVER['DOCUMENT_ROOT'];
if(empty($_GET['name']))
{
header('Location: ftp-directory');
exit();
}
else
{
$fileName = trim($_GET['name']);
$fileAdres = $fileAdresRoot.'/'.$fileName.'';
}
if(isset($_GET['doublename']))
{
$fileMaps = trim($_GET['doublename']);
$fileAdres = $fileAdresRoot.'/'.$fileMaps.'/'.$fileName.'';
}
$fileContents = fopen($fileAdres, 'rb', false);
$fileContent = stream_get_contents($fileContents);
我正在回复 $ fileContent :
<pre id="editor"><?php echo $fileContent; ?></pre>
所以它需要给我这个,它需要告诉我这个:
<?php
$getPage = 'Blog beheren';
include_once 'includes/header.php';
/* Starting with selecting the blog information and post from the database. */
if (isset($_GET["page"])) { $page = trim($_GET["page"]); } else { $page=1; }
$start_from = ($page-1) * 5;
$stmt = $mysqli->prepare("SELECT id, datum, auteur, comments, titel FROM blog ORDER BY id DESC LIMIT ?, 5");
$stmt->bind_param('s', $start_from);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($blogId, $blogDatum, $blogAuteur, $blogComments, $blogTitel);
$intBlog = $mysqli->query("SELECT id FROM blog")->num_rows;
?>
<!-- Matter -->
<div class="matter">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="widget">
<div class="widget-head">
但它反过来告诉我这个:
prepare("SELECT id,datum,comments,tags,titel,omschrijving,image,auteur FROM blog ORDER BY id DESC LIMIT ?,5");
$stmt->bind_param('i', $start);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($blogId, $blogDate, $blogComments, $blogTags, $blogTitle, $blogDesc, $blogImg, $blogAuth);
$intInfo = $stmt->num_rows;
?>
Home
Blog
Blog
因此不仅不会显示HTML div等,而且还会显示
答案 0 :(得分:2)
我相信当前正在发生的事情是你的字符串没有被编码为显示为html实体,因此它们被渲染为实际的HTML。
根据您的目标,您希望使用htmlentities函数回显文件内容
所以它看起来像这样:
<?php echo htmlentities($fileContent, ENT_HTML5); ?>