Fichier include sans balises

Le
Dominique Ottello
Bonjour,

Je viens juste de voir qu'il pourrait, peut-être, y avoir un problème
avec certains de mes fichiers "include".

Par exemple, voici une partie de code d'une page HTML :

echo "<div id='cadre_page'>";
echo "<h1 class='center'>Mon titre</h1>";
include($fichier_ajout);
echo "</div>";

Le contenu du fichier pointé par la variable $fichier_ajout n'a pas les
balises d'ouverture et de fermeture <?php ?> et, de plus, il ne
contient que du code html, pas du php, du genre :
<p>.</p>
<ul class=''>
<li></li>
</ul>
<h2>.</h2>
etc.

Cela fonctionne bien tant en local (Wampserver) qu'en distant chez deux
hébergeurs différents.

Cela est-il le fonctionnement « normal » ?

Merci.
--
Aujourd'hui, l'idéal du progrès est remplacé par l'idéal de l'innovation :
il ne s'agit pas que ce soit mieux, il s'agit seulement que ce soit nouveau,
même si c'est pire qu'avant et cela de toute évidence. Montherlant
Technologie aéronautique - http://ottello.net - Les anciens de Vilgénis
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #6770861

Je viens juste de voir qu'il pourrait, peut-être, y avoir un problème
avec certains de mes fichiers "include".

[...]

Le contenu du fichier pointé par la variable $fichier_ajout n'a pas les
balises d'ouverture et de fermeture contient que du code html, pas du php, [...]

Cela est-il le fonctionnement « normal » ?


Si tu posais ta question dans un groupe anglophone, je répondrais bien
« RTFM » :
When a file is included, parsing drops out of PHP mode and into HTML
mode at the beginning of the target file, and resumes again at the end.
For this reason, any code inside the target file which should be
executed as PHP code must be enclosed within valid PHP start and end tags.

Mais vu l'énorme contresens fait dans la traduction française je
comprends que tu te poses la question :
Il est important de noter que lorsqu'un fichier est include() ou
require(), les erreurs d'analyse apparaîtront en HTML tout au début du
fichier, et l'analyse du fichier parent ne sera pas interrompue. Pour
cette raison, le code qui est dans le fichier doit être placé entre les
balises habituelles de PHP.

Du coup, je tente une traduction plus correcte en français :
«
Quand un fichier est inclus, l'analyse sort du mode PHP pour entrer
dans le mode HTML, et elle revient en mode PHP à la fin. Pour cette
raison, tout code dans le fichier inclus qui doit être exécuté comme
code PHP doit être entouré de balises de début et de fin de PHP
valides.
»
... et tout code HTML qui n'a pas à être exécuté peut donc rester tel
quel.

Cordialement,
--
Olivier Miakinen

Dominique Ottello
Le #6773791
Olivier Miakinen
Du coup, je tente une traduction plus correcte en français :
«
Quand un fichier est inclus, l'analyse sort du mode PHP pour entrer
dans le mode HTML, et elle revient en mode PHP à la fin. Pour cette
raison, tout code dans le fichier inclus qui doit être exécuté comme
code PHP doit être entouré de balises de début et de fin de PHP
valides.
»
... et tout code HTML qui n'a pas à être exécuté peut donc rester tel
quel.


Merci, pour cette traduction « correcte et compréhensible ».

J'avais mal interprété le RTFM anglais et les explications françaises
sur php.net m'avaient complètement embrouillé.

Du coup, je suis rassuré !
--
Aujourd'hui, l'idéal du progrès est remplacé par l'idéal de l'innovation :
il ne s'agit pas que ce soit mieux, il s'agit seulement que ce soit nouveau,
même si c'est pire qu'avant et cela de toute évidence. Montherlant
Technologie aéronautique - http://ottello.net - Les anciens de Vilgénis

newpain
Le #6787181
Bonjour,

Je viens juste de voir qu'il pourrait, peut-être, y avoir un problème
avec certains de mes fichiers "include".

Par exemple, voici une partie de code d'une page HTML :

echo "<div id='cadre_page'>n";
echo "<h1 class='center'>Mon titre</h1>n";
include($fichier_ajout);
echo "</div>n";

Le contenu du fichier pointé par la variable $fichier_ajout n'a pas les
balises d'ouverture et de fermeture contient que du code html, pas du php, du genre :
</ul>
etc.

Cela fonctionne bien tant en local (Wampserver) qu'en distant chez deux
hébergeurs différents.

Cela est-il le fonctionnement « normal » ?

Merci.
C'est correct me semble t il !!


Juste une façon d'inclure un fichier sans include() ni require()
la fonction file_get_contents() lit le fichier et on l'affiche .

Exemple:

<?php
echo (file_get_contents('monfichier.html'));
?>

Voila ma petite contribution

Christophe Meresse
Le #6791201
On 6 juin, 01:02, newpain
Juste une façon d'inclure un fichier sans include() ni require()
la fonction file_get_contents() lit le fichier et on l'affiche .

Exemple:

<?php
echo (file_get_contents('monfichier.html'));
?>


Oui mais c'est différent, le fichier ne sera pas interprété, si il
contient du code php, ce code sera affiché par le client.

Christophe

Publicité
Poster une réponse
Anonyme