web-dev-qa-db-fra.com

Comment puis-je ajouter PHP code/fichier en HTML (.html)?

Je ne peux pas utiliser PHP dans mes pages HTML. Par exemple, index.html. J'ai essayé d'utiliser les deux:

<? contents ?> 

et 

<?php contents ?> 

Ni l'un ni l'autre ne fonctionne. Mon serveur propose PHP et lorsque j'utilise l'extension .php, cela fonctionne correctement. Est-ce un problème ou dois-je modifier les préférences dans php.ini?

79
Hoon

Vous ne pouvez pas exécuter PHP dans les fichiers .html car le serveur ne reconnaît pas cela comme une extension PHP valide, sauf indication contraire de votre part. Pour ce faire, vous devez créer un fichier .htaccess dans votre répertoire Web racine et y ajouter cette ligne:

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

Cela indiquera à Apache de traiter les fichiers portant l'extension .htm ou .html sous forme de fichiers PHP.

129
John Conde

Je pense qu'écrire PHP dans un fichier .html est déroutant et anti-naturel. Pourquoi ferais-tu ça??

Quoi qu'il en soit, si vous voulez exécuter des fichiers PHP et les afficher au format .html dans la barre d'adresse, une solution plus simple consiste à utiliser .php normalement et à écrire une règle dans votre .htaccess comme ceci:

RewriteRule ^([^.]+)\.html$ $1.php [L]
19
David Morales

Pour utiliser php dans les fichiers .html, vous devez les associer à votre processeur PHP dans le fichier de configuration de votre serveur HTTP. Dans Apache, cela ressemble à ceci:

AddHandler application/x-httpd-php .html
14
Chris Trahey

Vous pouvez modifier .htaccess comme d’autres, mais la solution la plus rapide consiste à renommer l’extension de fichier en .php.

11
CAAY

Ajouter cette ligne 

AddHandler application/x-httpd-php .html

pour httpd.conf fichier pour ce que vous voulez faire . Mais rappelez-vous, si vous faites cela, votre serveur web sera très lent, car il analysera même le code statique qui ne contiendra pas le code php . manière sera de créer l’extension de fichier .phtml au lieu de simplement .html.

9
Badar

Pour que les fichiers .html soient également analysés, vous devez définir le gestionnaire approprié dans la configuration de votre serveur.

Pour Apache httpd 2.X c'est la ligne suivante

AddHandler application/x-httpd-php .html

Consultez le document PHP pour plus d'informations sur votre installation de serveur spécifique.

7
Sirko

Par défaut, vous ne pouvez pas utiliser PHP dans les pages HTML.

Pour ce faire, modifiez votre fichier .htacccess avec les éléments suivants: 

AddType application/x-httpd-php .html
6
Kerry Ritter

Si vous avez seulement du code php dans un fichier html mais plusieurs autres fichiers qui ne contiennent que du code html, vous pouvez ajouter ce qui suit à votre fichier .htaccess pour qu'il ne serve que ce fichier en tant que php. 

<Files yourpage.html>
AddType application/x-httpd-php .html 
//you may need to use x-httpd-php5 if you are using php 5 or higher
</Files>

Cela rendra l'exécutable PHP UNIQUEMENT sur le fichier "yourpage.html" et non sur toutes vos pages html, ce qui empêchera tout ralentissement sur l'ensemble de votre serveur. 

Quant à savoir pourquoi quelqu'un pourrait vouloir servir php via un fichier html, j'utilise la fonction IMPORTHTML de Google tableurs pour importer des données JSON à partir d'une URL externe qui doit être analysée avec php pour le nettoyer et créer un tableau html. Jusqu'à présent, je n'ai trouvé aucun moyen d'importer un fichier .php dans des feuilles de calcul Google. Il doit donc être enregistré sous un fichier .html pour que la fonction fonctionne. Pouvoir servir php via un fichier .html est nécessaire pour cet usage particulier. 

3
MistyDawn

Créez un fichier vide en utilisant le bloc-notes et nommez-le .htaccess. Copiez ensuite ce fichier dans le répertoire de votre projet, ajoutez cette ligne et enregistrez-le.

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

sinon, enregistrez le fichier .html en utilisant .php car php peut prendre en charge le langage HTML, puis enregistrez-le dans le chemin computer/var/www/html (linux)

0
Progga Ilma