PHP文件包括停止执行

时间:2011-05-27 17:37:47

标签: php html include

我在index.php页面的主体内部有以下代码:

echo "Begin <br />";
include('test.shtml');
echo "Importing dbRead.php here <br />";
include(dirname(__FILE__) . '/dbRead.php');
echo "We have included dbRead.php here <br />";

页面上的输出是:

开始 里面的test.shtml
在这里导入dbRead.php

这些文件都在同一目录中。发生了什么事?

编辑:dbRead.php是一个类。我的WAMP服务器解析得很好,但上传后不是网络服务器。它包含一个具有正确形成的方法和构造函数的类。

2 个答案:

答案 0 :(得分:2)

据我所知,所有回声都在include(dirname(__FILE__) . '/dbRead.php');之前执行,但之后没有可见的回声输出。有一些可能性,例如:

    您在dbRead.php中使用的{li> ob_start();(请参阅documentation),因此会执行echo,但不会将其发送到浏览器,
  • 您有一些错误终止dbRead.php中的脚本,但您关闭了错误报告(请参阅documentation),
  • 您在所附文件中调用了exit(请参阅documentation)或die()(请参阅documentation),

答案 1 :(得分:1)

根据您的输出,问题不是include s(btw,dirname(__FILE__)是不必要的,除非文件本身(index.php)也包含在另一个文件中)...问题如果您在dbRead.php中有错误或它不存在,或者它会停止进一步执行(使用exit die等)。

你的DIR是这样的:

/
/index.php
/test.shtml
/dbRead.php

??或者您期望dirname(__FILE__)以某种方式移动目录?