Template / création de fichier [Résolu]

Signaler
Messages postés
36
Date d'inscription
mercredi 15 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2012
-
cs_calypso78
Messages postés
36
Date d'inscription
mercredi 15 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2012
-
Bonsoir,

J'ai actuellement une variable énorme, dans laquelle j'ai le code html d'une page. J'utilise cette variable afin de créer un fichier .html que le client pourra télécharger.

Est-ce que c'est possible, plutôt que de déclarer dans la variable en dur toute la page html + les quelques variables que je veux y inclure, de créer une page .html dans laquelle je mettrais toutes mes variables?
Exemple:

ma template:

<html>
<title><?php echo $title; ?></title>
</html>

Mon php appellerait cette template avec un tableau de variables en paramètre qui servirait à initialiser la page. Le but étant à la fin de récupérer le contenu du template dans une variable, pas d'afficher la template...

J'espère avoir été assez clair sur ce que je cherche à faire afin que vous puissiez m'aider, merci et bonne soirée,
Calypso

5 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11
Utilise les fonctions ob_* :
<?php
$title = 'titre de la page';
$kw = 'mot, clé, mot-clé';
$body = 'corps de la page';
$chemin = 'cache.html';

ob_start();
include('template.php');
$html = ob_get_contents();
ob_end_clean();

$f = fopen($chemin, "w+");
fputs($f, $html);
fclose($f);
?>


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11
Bonsoir,

Oui, bien sûr que tu peux le faire !
Tu peux par exemple avoir un template comme ceci :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title><?=$title?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Keywords" content="<?=$kw?>" />
<link rel="stylesheet" type="text/css" href="styles.css" />
<script type="text/javascript" src="lib.js"></script>
</head>


Un en-tête avec un logo...



<li>btn1</li><li>btn2</li><li>btn3</li>

Des pubs




<?=$body?>


Copyright (C) 2012, Alain Connu. Tous droits réservés.


</html>

Avec ceci comme code appelant :
<?php
$title = 'titre de la page';
$kw = 'mot, clé, mot-clé';
$body = 'corps de la page';
include('template.php');
?>


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
36
Date d'inscription
mercredi 15 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2012

Ce code affichera mon template, j'ai besoin de mon template pour l'enregistrer dans un fichier que le client téléchargera, donc un truc dans le genre:

<?php
$title = 'titre de la page';
$kw = 'mot, clé, mot-clé';
$body = 'corps de la page';
$var = include('template.php');
$file = fopen($chemin, "w+");
fputs($file, $var);
fclose($file);

echo 'OK, le fichier a été créé, vous pouvez le télécharger';
?>


Merci quand même d'avoir répondu.
Messages postés
36
Date d'inscription
mercredi 15 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2012

Merci, je vais tester et je vous dis le résultat.
Messages postés
36
Date d'inscription
mercredi 15 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2012

Ca fonctionne super bien, merci beaucoup.