Template / création de fichier

Résolu
cs_calypso78 Messages postés 35 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 27 octobre 2012 - 21 oct. 2012 à 20:43
cs_calypso78 Messages postés 35 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 27 octobre 2012 - 27 oct. 2012 à 16:10
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

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
23 oct. 2012 à 19:20
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
3
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
22 oct. 2012 à 21:44
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
0
cs_calypso78 Messages postés 35 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 27 octobre 2012
23 oct. 2012 à 06:19
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.
0
cs_calypso78 Messages postés 35 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 27 octobre 2012
27 oct. 2012 à 12:18
Merci, je vais tester et je vous dis le résultat.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_calypso78 Messages postés 35 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 27 octobre 2012
27 oct. 2012 à 16:10
Ca fonctionne super bien, merci beaucoup.
0
Rejoignez-nous