2011-05-27 127 views
0

我有我的index.php页面的体内下面的代码: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服务器解析得很好,但上传后我的服务器无法解析。它包含一个具有正确形成的方法和构造函数的类。

+0

我忘了补充说test.shtml里面只是:内部test.shtml – BlackSheep 2011-05-27 17:38:33

+1

- 你可以编辑你的问题(而不是评论) - dbRead.php里面什么? - 有什么问题?据我所见,一切正常。 – KingCrunch 2011-05-27 17:41:29

+0

另外它适用于我的WAMP服务器,但不能在我发布到Web服务器时使用。 – BlackSheep 2011-05-27 17:42:25

回答

2

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

    dbRead.php使用例如 ob_start();
  • (见documentation),因此回波被执行,而不是发送给浏览器,
  • 你有一些错误终止脚本在dbRead.php,但是你有错误报告关闭(见documentation
  • 你调用exit(见documentation)或包含文件中die()(见documentation
+0

dbRead.php中有错误。仍然不明白为什么有一个错误,但它是。 – BlackSheep 2011-05-27 18:00:04

+0

哈哈哈服务器老只支持PHP4>。< – BlackSheep 2011-06-03 13:11:56

1

根据您输出的问题不是include s(btw,dirname(__FILE__)是不必要的,除非文件本身(index.php)也包含在其他文件中)......问题是您在dbRead.php或它不存在,或停止进一步执行(与exitdie等)。

贵DIR样子:

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

?或者你是否期待dirname(__FILE__)以某种方式转移目录?