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

や などの文字をやにエスケープする必要があります。<>&lt;&gt;

var_dump(htmlentities($section));

または:

echo htmlentities($section);

ブラウザで「ソースの表示」を行うと、残りの部分は実際にそこにあることがわかりますが、ブラウザはテキストを HTML として解釈しようとしています。

また、PHP (例では test.php ) でfile_get_contentsはないことに注意してください。executeファイルをテキストファイルであるかのように読み取るだけです。ファイル内のコードを実際に実行したい場合は、 includeinclude_oncerequireまたはrequire_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 に答える