查看包含include的PHP文件

时间:2014-10-14 19:44:42

标签: php php-include

是否有一个工具可以显示我的.php文件在"预处理器"之后的样子。通过它并包括所有"包括"和"要求"文件?换句话说,如果我有一个名为" index.php":

的文件
<?php
#My root index page
include 'vars.php';
include 'header.php';
include 'body.php';
?>

如果文件是: vars.php:

<?php
SITENAME = "MySite";
$where =  "here";
include 'ThatOne.php';
?>

的header.php:

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<title>My page</title>
</head>

body.php:

<?php
print "<body>\n";
print "<H1>Hello World</H1>\n";
print "</body>\n";
?>

ThatOne.php

<?php
$ThatOne =  "This One";
?>

我希望能够看到此页面产生的工作页面如下所示:

<?php
#My root index page
SITENAME = "MySite";
$where =  "here";
$ThatOne =  "This One";
?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<title>My page</title>
</head>
<?php
print "<body>\n";
print "<H1>Hello World</H1>\n";
print "</body>\n";
?>

这显然是一个人为的例子,但是我正在使用嵌套了大约4深的包含的网站,我想确保PHP正在使用的是我想要它使用的内容。

我对PHP很新,但是我问过一个同事也在使用PHP的问题,他的反应是#34;那真的很有用,但我从来没有见过任何可以证明这一点的人。 #34;

1 个答案:

答案 0 :(得分:0)

如果您愿意,您可以创建自己的工具。只需使用get_included_files和file_get_contents,如下所示:

<?php
#My root index page
include 'vars.php';
include 'header.php';
include 'body.php';
$included_files = get_included_files();

foreach ($included_files as $filename) {
    echo file_get_contents( $filename );
}
?>

根据手册,get_included_files()也会得到任何required或required_once文件(参见here)。唯一的限制是您只能看到文本或HTML输出,因此vars.php不会有可见内容。如果通过为.phps提供扩展名来更改纯PHP文件,那么您可以看到可以突出显示的PHP源代码。