2010-05-15 66 views
0

我有一个PHP文件,其中包括另一个HTML文件:虚拟功能 - 包括一些HTML

<? virtual("../top.html");?> 

的问题是,在此之前的任何代码,包括编译和运行良好,以后 - 什么都没有。没有任何错误等。评论这条线后,一切正常。

代码是在本地计算机上用ArchLinux + LAMP编写的。现在我有相同配置的Ubuntu 10.04。

它可能是什么?

回答

1

您可能会尝试将top.html更改为top.phtml并使用require_once。

<?php require_once('../top.phtml'); ?> 
+0

是的,这个工程。但为什么? – Ockonal 2010-05-15 14:57:10

+1

php会解析一个.phtml文件,就好像它是php一样,所以你可以使用require_once。我主要使用phtml作为模板文件,暗示这些文件主要包含html,并且只会引入一点PHP。 – 2010-05-15 15:02:10

+0

另外,'virtual()'是特定于apache的(http://php.net/virtual),并且模仿#include虚拟。 #include虚拟有时会遇到包括.html文件在内的问题,需要您将它们命名为.shtml。我建议在.shtml上使用.phtml扩展名。 – 2010-05-15 15:03:35

0

你能检查Apache的错误日志吗?

此外,你应该使用

<?php virtual("../top.html");?> 

如果你的php.ini已经short_open_tag的值为=关闭。

+0

+1不使用短标签。 – 2010-05-15 14:54:52

+0

日志为空,允许使用短标签。 – Ockonal 2010-05-15 14:54:59

1

如果你只是想从一个文件中的一些HTML的方式传递到输出,你也可以使用:

<?php echo file_get_contents('../top.html'); ?>

这样一来,你留独立于底层的网络服务器和您确保,没有可能在html中执行的php代码。

但是,如果您希望在那里执行某些操作,可以使用require_once()作为stated by Jeremy