4

我的要求是读取 php 文件的内容并在前端显示内容。为此,我使用了

$section = file_get_contents('test.php');
var_dump($section);
?>

但它正在打印值,经过一些字符后,它只是打印......不是完整的内容。我试图通过 echo 和 print_r 方法打印,但无论如何我都没有得到完整的内容。

我的 app.php 是这样的:

<?php
$data =  array(
        array('id' => 1, 'first' => "abc", 'last' => 'def', 'email' => 'abc@def.com'),
        array('id' => 2, 'first' => "ghi", 'last' => 'jkl', 'email' => 'abc@def.com'),
        array('id' => 3, 'first' => "mno", 'last' => 'pqr', 'email' => 'abc@def.com'),
        array('id' => 4, 'first' => "stu", 'last' => 'vwx', 'email' => 'abc@def.com'),
        array('id' => 5, 'first' => "Y", 'last' => 'Z', 'email' => 'abc@def.com'),
       );
    echo json_encode(array(
            'success'   => true,
            'message'   => 'loading data',
            'data'      => $data
        ));
?>
4

3 回答 3

4

您需要转义字符,例如<and>&lt;and &gt;

var_dump(htmlentities($section));

或者:

echo htmlentities($section);

如果您在浏览器中执行“查看源代码”,您会看到其余部分实际上都在那里,但您的浏览器正试图将文本解释为 HTML。

另请注意,file_get_contents不是executePHP(在您的示例中为 test.php);它只是像读取文本文件一样读取文件。如果您希望实际执行文件中的代码,您可能需要查看includeinclude_oncerequirerequire_once 。

于 2013-03-26T11:02:09.377 回答
3

您尝试回显代码,它将尝试解析它,因此通过 htmlspecialchars($source) 传递它,它应该可以工作。

像这样的东西:

<?php
echo "<pre>";
echo htmlspecialchars(file_get_contents('test.php'));
echo "</pre>";

?>

于 2013-03-26T11:06:43.493 回答
2

嘿,我知道它有点晚了,但我希望有人能从这里得到帮助......

这些是 php.ini 中的可配置变量:

尝试去找; XDEBUG Extension

zend_extension = "your path to php/zend_ext/php_xdebug-2.2.3-5.4-vc9-x86_64.dll"

[xdebug]
xdebug.var_display_max_depth = 10

当然,这些也可以在运行时通过 设置ini_set(),如果您不想修改 php.ini 并重新启动 Web 服务器但需要快速检查更深入的内容,这很有用。

ini_set('xdebug.var_display_max_depth', 10);

希望这对某人有帮助!

于 2014-08-13T00:32:20.277 回答