我想在SHTML文件中包含一个PHP文件,并将结果存储在SHTML变量中,并根据结果包含不同的内容。
例:
假设PHP脚本将以纯文本形式回显0/1(取决于时间或类似的东西)。然后在SHTML中,我想将该PHP文件的输出存储在SHTML变量中。然后,如果存储在该变量中的值为1,则包含fileA.html,否则包括fileB.html。
答案 0 :(得分:0)
听起来不可能。 SHTML使用不同的方法来解析代码,因此我认为PHP不会在页面上运行以将值返回给SHTML。你为什么这样做,为什么不直接使用PHP?
答案 1 :(得分: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');
,脚本就会将浏览器重定向到生成的文件。
这是我能理解的最近的。
答案 2 :(得分:0)
答案似乎是 NO 。
注意: 它应该只使用PHP和服务器指令实现,以将.shtml文件视为PHP。
答案 3 :(得分:0)
在.shtml页面上执行PHP的方法是修改.htaccess文件。此文件可能是隐藏的,因此根据您的FTP程序,您可能需要修改某些设置才能看到它。然后你只需要为.shtml添加这一行:
AddType application/x-httpd-php .shtml
如果您只打算在一个页面上包含PHP,最好以这种方式设置:
<Files yourpage.shtml>
AddType application/x-httpd-php .shtml
</Files>
此代码仅在yourpage.shtml文件中生成PHP可执行文件,而不是在所有shtml页面上生成。