Как запустить PHP скрипт внутри html файла?

Я хотел бы знать, как запустить простой PHP-код внутри расширения .html?

Ответ 1

Вы не можете запустить PHP на странице html с .html. Если страница на самом деле не является PHP, а расширение было изменено с помощью .htaccess от .php до .html

Что вы имеете в виду:

index.html
<html>
...
<?php echo "Hello world";?> //This is impossible


index.php //The file extension can be changed using htaccess, ex: its type stays php but will be visible to visitors as index.html

<?php echo "Hello world";?>

Ответ 2

Чтобы выполнить код "php" внутри "html" или "htm", для 'apache версии 2.4.23'

Перейдите в '/etc/apache2/mods-enabled' edit '@mime.conf'

Перейдите к концу файла и добавьте следующую строку:

 "AddType application/x-httpd-php .html .htm"

ПЕРЕД тегом '</ifModules> ' проверено и проверено с помощью "apache 2.4.23" и "php 5.6.17-1" под "debian"

С уважением Стеф

Ответ 3

Просто ты не можешь!! но у вас есть некоторые возможные варианты:

1- Исправить php-страницу как внешнюю страницу.

2- напишите свой html-код внутри самой страницы php.

3 - используйте iframe для включения php в html-страницу.

чтобы быть более конкретным, если вы не хотите редактировать файл htaccess, вы можете подумать об этом:

http://php.about.com/od/advancedphp/p/html_php.htm

Ответ 4

спасибо за идеи, но никто не работает здесь. Так что я сделал это... Я использую последнюю версию xampp в 2014 году. перейдите в \xampp\apache\conf\extra\httpd-xampp.conf.

мы найдем этот бит кода:

<IfModule php5_module>
    **<FilesMatch "\.php$">**
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>

    PHPINIDir "C:/xampp/php"
</IfModule>

Сосредоточьтесь на второй строке, поэтому мы должны изменить на:

<IfModule php5_module>
    **<FilesMatch "\.(php|html)$">**
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>

    PHPINIDir "C:/xampp/php"
</IfModule>

И это все. Работает хорошо!

Ответ 5

Вам нужно сделать расширение как .php для запуска php-кода НО, если вы не можете изменить расширение, вы можете использовать Ajax для запуска php извне и получить результат

Например,

<html>
<head>
<script src="js/jquery.min.js"></script>
<script>
$(document).ready(function(){
   $.ajax({
        url:'php_File_with_php_code.php',
        type:'GET', 
        data:"parameter=some_parameter",
       success:function(data)
       {
              $("#thisdiv").html(data);
           }
    });
});
</script>
</head>
<body>
<div id="thisdiv"></div>
</body>
</html>

Здесь загружается JQuery и, как только загружаются страницы, ajax вызывает php файл, откуда берутся данные, затем данные помещаются в div

Надеюсь, что это поможет

Ответ 6

Я не уверен, что это то, что вы хотели, но это очень хакерский способ включить php. Что вы делаете, так это то, что вы помещаете php, который хотите запустить в другом файле, и затем включаете этот файл в изображение. Например:

RunFromHTML.php

<?php
  $file = fopen("file.txt", "w");
  //This will create a file called file.txt,
  //provided that it has write access to your filesystem
  fwrite($file, "Hello World!");
  //This will write "Hello World!" into file.txt
  fclose($file);
  //Always remember to close your files!
?>

RunPhp.html

<html>
  <!--head should be here, but isn't for demonstration sake-->
  <body>
    <img style="display: none;" src="RunFromHTML.php">
    <!--This will run RunFromHTML.php-->
  </body>
</html>

Теперь, после посещения RunPhp.html, вы должны найти файл с именем file.txt в том же каталоге, в котором были созданы два вышеуказанных файла, а файл должен содержать "Hello World!". внутри него.

Ответ 7

Да, вы можете запустить PHP на странице HTML.

Я успешно выполнял PHP-код в своих HTML файлах уже много лет. (Для любопытных это связано с тем, что у меня более 8 000 статических HTML файлов, созданных мной и другими за последние 20 лет, и я не хотел потерять рейтинг поисковой системы, изменив их, и, что более важно, у меня слишком много других вещей для работы).

Я не эксперт - ниже я пробовал и что работает для меня. Пожалуйста, не просите меня объяснить это.

Все ниже включает в себя добавление строки или двух файлов .htaccess.

Вот что один хост (http://simolyhosting.net) для меня сделал в 2008 году, но теперь он больше не работает для меня.

AddHandler application/x-httpd-php5 .html .htm
AddType application/x-httpd-php5 .htm .html

Теперь это решение считается устаревшим, хотя оно может сработать для вас.

Вот то, что сейчас работает для меня:

AddType application/x-httpd-lsphp .htm .html

(На этой странице есть PHP-код, который правильно работает с вышеупомянутым решением - http://mykindred.com/bumstead/steeplehistory.htm)


Ниже приведены другие решения, которые я нашел - они НЕ МОЙ:


https://forums.cpanel.net/threads/cant-execute-php-in-html-since-ea4-upgrade.569531

Я вижу это на многих серверах, которые я недавно обновил до EA4. Использование обработчиков cPanel Apache или их добавления непосредственно в .htaccess(так же, как cPanel делает с помощью gui add handlers):

AddHandler application/x-httpd-php5 .html

9 сентября 2016 г.

AddHandler application/x-httpd-ea-php56 .html

https://help.1and1.com/hosting-c37630/scripts-and-programming-languages-c85099/php-c37728/parsing-php-code-within-html-pages-a602364.html

Откройте текстовый редактор, такой как текстовый блок, блокнот, нано и т.д. и добавьте следующую строку:

AddHandler x-mapp-php5 .html .htm

Если вы хотите использовать PHP 5.4 вместо PHP 5.2, используйте вместо этого следующую строку:

AddHandler x-mapp-php6 .html .htm

https://www.godaddy.com/community/Developer-Cloud-Portal/Running-php-in-html-files/td-p/2776

Чтобы запустить HTML с помощью FastCGI/PHP, попробуйте добавить этот код в файл .htaccess для каталога, в котором находится script:

Options +ExecCGI
AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html

При необходимости вы можете добавить дополнительные строки для других расширений файлов.

Ответ 8

<?php 
     echo '<p>Hello World</p>' 
?>

Проще разместить что-то вдоль этих строк в вашем HTML, если ваш сервер настроен на выполнение PHP в файлах с расширением HTML.