104 votes

Comment ajouter du code/fichier PHP aux fichiers 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 ?> 

Aucun des deux ne fonctionne. Mon serveur propose PHP, et lorsque j'utilise un fichier de type .php l'extension, elle fonctionne correctement. S'agit-il d'un problème ou dois-je modifier les préférences dans l'application php.ini ?

4 votes

Vous devriez modifier votre serveur (je suppose qu'il s'agit d'Apache) pour que les fichiers html soient servis en tant que php, mais pourquoi voulez-vous que l'extension soit html au lieu de php ?

1 votes

0 votes

@ExplosionPills Je l'ai fait en utilisant IIS v7 ! et c'est possible !

153voto

John Conde Points 102874

Vous ne pouvez pas exécuter PHP dans les fichiers .html car le serveur ne reconnaît pas cette extension comme valide, sauf si vous le lui demandez. Pour cela, 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

Ceci indique à Apache de traiter les fichiers avec une extension .htm ou .html comme des fichiers PHP.

16 votes

Bien que ce soit droite Je pense qu'une question plus importante est pourquoi faire ça ? De plus, il devrait mettre à jour la configuration du serveur plutôt que d'utiliser la fonction .htaccess si c'est une option.

11 votes

J'ai fait cela à de nombreuses reprises pour cacher le fait que j'utilise PHP (en plus d'autres choses).

3 votes

@nickb - la sécurité par l'obscurité ?

20voto

David Points 5988

Je pense qu'écrire du PHP dans un fichier .html est déroutant et anti-naturel. Pourquoi feriez-vous cela ?

Quoi qu'il en soit, si ce que vous voulez, c'est exécuter des fichiers PHP et les afficher en tant que .html dans la barre d'adresse, la solution la plus simple serait d'utiliser .php comme d'habitude, et d'écrire une règle dans votre .htaccess comme ceci :

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

0 votes

Si j'utilise PHP + HTML, quel format dois-je utiliser ? Je suis assez confus. Ma page a un code très court basé sur PHP et il y a beaucoup de codes en HTML. Donc, ce que j'allais faire, c'était de créer un fichier HTML. Est-ce une mauvaise habitude ?

4 votes

Le format doit être .php, car les fichiers .html sont destinés à ne contenir que du code HTML.

15voto

ctrahey Points 12360

Pour pouvoir utiliser le langage 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

0 votes

Pourriez-vous commenter la différence entre AddHandler y AddType ? Merci.

1 votes

@PatrickT La façon la plus simple de comparer est que AddHandler est un mappage "d'entrée" - il mappe une extension de fichier entrant à un gestionnaire. AddType modifie l'en-tête de type MIME de sortie. Voir la note ici : httpd.apache.org/docs/2.4/mod/mod_mime.html#addtype

13voto

CAAY Points 29

Vous pouvez modifier le fichier .htaccess comme d'autres l'ont dit, mais la solution la plus rapide est de renommer l'extension du fichier en .php.

0 votes

Vous pouvez également essayer .phtml

7voto

Sirko Points 32515

Pour avoir .html sont également analysés, vous devez définir le gestionnaire approprié dans la configuration de votre serveur.

Pour Apache httpd 2.X, il s'agit de la ligne suivante

AddHandler application/x-httpd-php .html

Voir le Document PHP pour obtenir des informations sur l'installation spécifique de votre serveur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X