2010-05-15 48 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