web-dev-qa-db-fra.com

Comment exécuter un script php dans un fichier html?

Je voudrais savoir comment exécuter un code php simple à l'intérieur d'une extension de fichier .html ?

17
ABA

Vous ne pouvez pas exécuter PHP dans une page html se terminant par .html. Sauf si la page est réellement PHP et que l'extension a été modifiée avec .htaccess de .php à .html

Ce que vous voulez dire, c'est:

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";?>
7
CMPS

Pour exécuter du code 'php' dans 'html' ou 'htm', Pour 'Apache version 2.4.23'

Allez dans '/etc/Apache2/mods-enabled'edit' @ mime.conf '

Allez à la fin du fichier et Ajoutez la ligne suivante:

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

AVANT la balise '</ ifModules>' Vérifiée et testée avec 'Apache 2.4.23' Et 'php 5.6.17-1' Sous 'debian'

4
Stephane Marchand

Tout simplement vous ne pouvez pas !! mais vous avez quelques options possibles:

1- Exécuter la page php en tant que page externe.

2- écrivez votre code html dans la page php elle-même.

3- utilisez iframe pour inclure le php dans la page html.

pour être plus précis, à moins que vous ne vouliez éditer votre fichier htaccess, vous pouvez alors considérer ceci:

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

2
ProllyGeek

merci pour les idées mais aucune ne fonctionne ici. Donc j’ai fait ça ... J'utilise la dernière version de xampp en 2014 . Allez dans\xampp\Apache\conf\extra\httpd-xampp.conf .

nous allons trouver ce morceau de code:

<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>

Concentrez-vous sur la deuxième ligne, nous devons donc passer à:

<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>

Et c'est ça. Fonctionne bien!

1
ABA

Je ne suis pas sûr que ce soit ce que vous vouliez, mais c'est une façon très rigoureuse d'inclure php. Qu'est-ce que vous faites est que vous mettez le php que vous souhaitez exécuter dans un autre fichier, puis vous incluez ce fichier dans une image. Par exemple:

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's sake-->
  <body>
    <img style="display: none;" src="RunFromHTML.php">
    <!--This will run RunFromHTML.php-->
  </body>
</html>

Maintenant, après avoir visité RunPhp.html, vous devriez trouver un fichier appelé fichier.txt dans le même répertoire que celui où vous avez créé les deux fichiers ci-dessus, et le fichier devrait contenir "Hello World!" à l'intérieur de celui-ci.

0
K Zhang

Oui, vous pouvez exécuter PHP dans une page HTML.

J'ai exécuté avec succès le code PHP dans mes fichiers HTML pendant de nombreuses années. (Pour les curieux, cela est dû au fait que j'ai créé plus de 8 000 fichiers HTML statiques par moi et d'autres au cours des 20 dernières années et que je ne voulais pas perdre le classement des moteurs de recherche en les modifiant et, plus important encore, j'ai trop d'autres choses travailler sur).

Je ne suis pas un expert - voici ce que j'ai essayé et ce qui fonctionne pour moi. S'il vous plaît ne me demandez pas de l'expliquer.

Tout ce qui suit implique l’ajout d’une ou deux lignes à votre fichier .htaccess.

Voici ce qu'un support ( http://simolyhosting.net ) a fait pour moi en 2008 - mais il ne fonctionne plus pour moi maintenant.

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

Cette solution semble être obsolète maintenant, même si cela pourrait fonctionner pour vous.

Voici ce qui fonctionne pour moi maintenant:

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

(Cette page contient le code PHP qui s'exécute correctement avec la solution ci-dessus - http://mykindred.com/bumstead/steeplehistory.htm )


Voici d'autres solutions que j'ai trouvées - elles ne sont PAS MINE:


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

Je constate cela sur de nombreux serveurs que j'ai récemment mis à niveau vers EA4. Utiliser cPanel Apache Handlers ou l'ajouter directement dans .htaccess (comme cPanel le fait via gui add handlers):

AddHandler application/x-httpd-php5 .html

9 septembre 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

Ouvrez un éditeur de texte tel que WordPad, Notepad, Nano, etc. et ajoutez la ligne suivante:

AddHandler x-mapp-php5 .html .htm

Si vous souhaitez utiliser PHP 5.4 au lieu de PHP 5.2, utilisez plutôt la ligne suivante:

AddHandler x-mapp-php6 .html .htm

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

Pour exécuter HTML à l'aide de FastCGI/PHP, essayez d'ajouter ce code au fichier .htaccess du répertoire dans lequel se trouve le script:

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

Vous pouvez ajouter des lignes supplémentaires pour d’autres extensions de fichier si nécessaire.

0
tcloud

Vous devez créer l'extension en .php pour exécuter un code phpMAISsi vous ne pouvez pas modifier l'extension, vous pouvez utiliser Ajax pour exécuter php en externe et obtenir le résultat

Par exemple:

<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>

Ici, le JQuery est chargé et dès que les pages sont chargées, le ajax appelle un fichier php à partir duquel les données sont prises, les données sont ensuite placées dans le fichier div.

J'espère que cela t'aides

0
Bandeshor Makai