0

我想在 SHTML 文件中包含一个 PHP 文件并将结果存储在 SHTML 变量中,并根据结果包含不同的内容。

示例:
假设 PHP 脚本将以纯文本形式回显 0/1(取决于时间等)。然后在 SHTML 中,我想将该 PHP 文件的输出存储在 SHTML 变量中。然后,如果存储在该变量中的值为 1,则包括 fileA.html,否则包括 fileB.html。

4

4 回答 4

0

听起来不可能。SHTML 使用不同的方法来解析代码,所以我认为 PHP 不会在页面上运行以将值返回给 SHTML。你为什么要这样做,为什么不直接使用 PHP?

于 2011-05-13T11:24:15.327 回答
0

假设您有一个 template.shtml 文件,其中包含文本@@PHPVARHERE@@

用户调用script.php?var=1。不是脚本加载 template.shtml 文件 ( file_get_contents) 的内容并执行str_replace替换@@PHPVARHERE@@($_REQUEST['var']在这种情况下1)。

然后脚本将所有这些输出到file1.shtml. 如果文件已经存在,请使用现有文件或覆盖它 - 在这种情况下发生的任何事情都是正确的。

因此,脚本会在运行时动态创建相关的 shtml 文件。只需添加一个Header('Relocate: file1.shtml');,脚本就会将浏览器重定向到生成的文件。

这是根据我的理解可以得到的最接近的。

于 2011-05-13T13:53:24.773 回答
0

答案似乎是否定的。

注意:它可能应该单独使用 PHP 和服务器指令来实现,以将 .shtml 文件视为 PHP。

于 2011-05-16T08:35:44.307 回答
0

在 .shtml 页面上执行 PHP 的方法是修改您的 .htaccess 文件。该文件可能是隐藏的,因此根据您的 FTP 程序,您可能需要修改一些设置才能看到它。然后你只需要为 .shtml 添加这一行:

AddType application/x-httpd-php .shtml

如果您只打算在一页上包含 PHP,最好这样设置:

<Files yourpage.shtml>
AddType application/x-httpd-php .shtml
</Files>

此代码只会使 PHP 在 yourpage.shtml 文件上执行,而不是在所有 shtml 页面上执行。

于 2011-10-23T17:04:21.943 回答