stream_get_contents的值不是实际值

时间:2014-11-07 20:40:09

标签: php

我正在尝试为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等,而且还会显示

1 个答案:

答案 0 :(得分:2)

我相信当前正在发生的事情是你的字符串没有被编码为显示为html实体,因此它们被渲染为实际的HTML。

根据您的目标,您希望使用htmlentities函数回显文件内容

所以它看起来像这样:

<?php echo htmlentities($fileContent, ENT_HTML5); ?>