【问题标题】:php print filecontent with php-contentphp 使用 php-content 打印文件内容
【发布时间】:2011-08-02 22:06:33
【问题描述】:

在使用搜索命令“php fread php code”和 php fopen php code“检查 fread 和 fopen 均未成功后,我现在转向自己提出问题。(超过 300 页的问题有点陡峭的挖掘。)

我有一个从外部文件获取内容的页面。我得到了带有链接的 index.php,这些链接通过 url(例如?links=home)发送请求,该链接是从另一个文件中读取的,该文件通过数组查找并找到正确的文件。一切正常!但这是棘手的部分: 其中的文件包括一些 php 代码字符串,它们不会完成它的工作,但只是在视图源中徘徊。是的,您可以在源代码中看到命令:代码,但它不会满足我的任何要求。没有一个回声。

这里有一些代码可以更好地解释事情。

获取url-command的代码:

<?php
function load_pages() {
    if ($_GET['link'] != NULL) {
        $link = $_GET['link'];
        $links = array("hem" => "hem.php", "about" => "about.php", "blogg" => "blogg.php", "kontakta" => "kontakta.php");
        foreach ($links as $key => $value) {
            if ($key == $link) {
                $file = "links/" . $value;
                $fh = fopen($file, "r") or exit("Unable to open the file.");
                $fileContent = fread($fh, filesize($file));
                fclose($fh);
                echo $fileContent;
            }
        }
    } else {
        $file = "links/hem.php";
        $fh = fopen($file, "r") or exit("Unable to open the file.");
        $fileContent = fread($fh, filesize($file));
        fclose($fh);
        echo $fileContent;
    }
}
?>

获取我要加载的页面命令的文件:

<?php
include ("../include/functions.php");
connect();
?>

<h1>Blogg</h1>
<?php
if ($_GET['id'] == NULL) {
    blogg_content();
} else {
    blogg_link();
}
?>

<div id="blogg_menu">
    <?php blogg_menu(); ?>
</div>

出来的是:Blogg 那只是不成功,所以我可以改变什么让它给我博客内容等等? (该页面是瑞典语,只是为了否认有关“Blogg”的任何拼写错误。)

【问题讨论】:

  • 您不只是在寻找include 声明,可能前面有ob_start 吗? (哦,总是require_onceinclude_once 函数文件)。
  • 它不会读取任何 php,因此在这种情况下 include 将毫无用处。我之前有一个包含标签,在索引页中也有。
  • Euhm,如果 include 不是您想要的,我完全不知道您想发送给客户的内容。原始 PHP 代码?因为那是你现在所拥有的,而它似乎不是你想要的。
  • 我在索引文件中得到了包含,在博客文件中也得到了它。但它根本没有成功。如果您有想法,能否请您为我发布一个示例代码?
  • 来自视图源的简短 sn-p:
    |这不是来自我的编辑器,而是来自网络浏览器中的查看源代码。

标签: php get fopen fread


【解决方案1】:

如果这些文件包含您想要执行的 PHP 代码,您需要 includerequire 它们而不是回显原始数据。

有关如何包含代码文件,请参阅PHP's documentation

编辑 从您的描述中很难分辨,但如果有的话,您必须执行以下操作:

...
if ($key == $link) {
    $file = "links/" . $value;
    include_once $file;
}
...

【讨论】:

  • Include 需要一个 php-tag,它不允许我在我的代码中使用 php-scripts。您只会在视图源中看到包含,但不会对站点产生任何其他差异。
  • 当然不是,您正在读取原始文本数据并将其推送到客户端。你要么必须找到一种方法来包含这些文件,要么做一个讨厌的解析和评估来模仿 PHP 的包含机制(你真的不想开始这种事情,相信我)。
  • 你能给我举个例子吗?我在索引页面上有一个包含文件,我可以毫无问题地阅读所有文档。但是这个脚本不能为我做 php-code 工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
  • 2023-03-06
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多