Могу ли я включить файл PHP в файл SHTML и сохранить результат в переменной SHTML?

Я хочу включить файл PHP в файл SHTML и сохранить результат в переменной SHTML, а также включить разные вещи в зависимости от результата.

Пример:
Предположим, что скрипт PHP будет отображать 0/1 в виде обычного текста (в зависимости от времени или чего-то подобного). А затем в SHTML я хотел бы сохранить выходные данные этого файла PHP в переменной SHTML. Затем, если значение, хранящееся в этой переменной, равно 1, включите fileA.html, иначе - fileB.html.

4 ответа

Решение

Ответ, кажется, НЕТ.

ПРИМЕЧАНИЕ. Вероятно, он должен быть реализован исключительно с использованием PHP и серверной директивы для обработки файлов.shtml как PHP.

Не звучит возможно. SHTML использует разные методы синтаксического анализа кода, поэтому я не думаю, что PHP будет работать на странице, чтобы вернуть значение SHTML. Почему вы делаете это, хотя, почему бы не использовать PHP прямо?

Чтобы выполнить PHP на странице.shtml, нужно изменить файл.htaccess. Этот файл может быть скрыт, поэтому в зависимости от вашей FTP-программы вам может потребоваться изменить некоторые настройки, чтобы увидеть его. Тогда вам просто нужно добавить эту строку для.shtml:

AddType application/x-httpd-php .shtml

Если вы планируете включить PHP только на одной странице, лучше настроить это следующим образом:

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

Этот код сделает PHP исполняемым только в файле yourpage.shtml, но не на всех ваших страницах shtml.

Допустим, у вас есть файл 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'); и скрипт перенаправляет браузер в сгенерированный файл.

Это самое близкое, что вы можете получить из того, что я поняла.

Другие вопросы по тегам