如何在SHTML页面中包含PHP文件?

时间:2009-05-08 10:46:36

标签: php file include webpage shtml

我有一个shtml文件index.shtml,其中我想要包含一个PHP文件,它执行一些编程并返回HTML数据。我试图包含我的PHP文件,但我不知道该怎么做,我试过以下但没有任何工作,

以下行只是打印错误,“ [处理此指令时发生错误] ”:

<!--#include file="/SSI/test.php"--> 

此行显示一些垃圾字符:

<!--#include virtual="/SSI/test.php"--> 

此行无效,并按.shtml页面

显示命令
<?PHP 
    include("/SSI/test.php");
?>

由于

4 个答案:

答案 0 :(得分:8)

如果除了您提到的有关流量的内容之外没有特别的原因使用.shtml,您可以在.htaccess文件中更改其处理:

<Files *.shtml>
ForceType application/x-httpd-php
</Files>

或者您可以特别指定该文件:

<Files filename.shtml>
ForceType application/x-httpd-php
</Files>

这将告诉服务器解析.shtml,就像它是.php文件一样,因此应该处理任何PHP命令,例如include语句。无需更改文件扩展名。

答案 1 :(得分:1)

我可能是错的,但是考虑到你得到的错误,问题可能不在include语句中,而是包含导致问题的php文件中的错误。

答案 2 :(得分:0)

对于最后一个工作,只需将.shtml重命名为.php,但请注意,这将阻止其中的任何shtml工作。但是,如果您也将其重写为php,则不应该成为问题。

根据您的评论进行编辑:
如果您运行apache,可以在.htacces中添加以下内容,然后将文件重命名为.php

 redirect permanent filename.shtml filename.php

这会将访问example.com/filename.shtml的人重定向到example.com/filename.php

答案 3 :(得分:0)

我认为你不能在Apache(我不知道其他网络服务器)。 The Apache documentation表示'include_virtual'允许您包含CGI程序的结果;但PHP并不是Apache的CGI应用程序:它由不同的模块以不同的方式处理。

科林