Can I include a PHP file in an SHTML file and store the result in a SHTML variable?

时光怂恿深爱的人放手 提交于 2019-12-02 10:06:10

Doesn't sound possible. SHTML uses different methods of parsing the code so I don't think the PHP will run on the page to return a value to the SHTML. Why are you doing this though, why not use PHP outright?

Let's say you have a template.shtml file with the text @@PHPVARHERE@@ somewhere in it.

The user calls script.php?var=1. Not the script loads the contents of the template.shtml file (file_get_contents) and does a str_replace to replace @@PHPVARHERE@@ with $_REQUEST['var'] (in this case 1).

Then the script outputs all of this to file1.shtml. If the file already existed use the existing file or overwrite it - whatever happens to be right in this situation.

So the script dynamically creates the relevant shtml-files on the fly at runtime. Just add a Header('Relocate: file1.shtml'); and the script redirects the browser to the generated file.

This is the nearest you can get from what I understood.

The answer seems to be NO.

NOTE: It should probably be implemented solely using PHP and a server directive to treat .shtml files as PHP.

The way to execute PHP on a .shtml page is to modify your .htaccess file. This file may be hidden, so depending upon your FTP program you may have to modify some settings to see it. Then you just need to add this line for .shtml:

AddType application/x-httpd-php .shtml

If you only plan on including the PHP on one page, it is better to setup this way:

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

This code will only make the PHP executable on the yourpage.shtml file, and not on all of your shtml pages.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!