Forum Clubic

[php] génératrice de pages html - est-ce possible ?

Bonsoir :bounce:

je me pose une question… enfait sur mon site, j’organise des concours, et je publie régulièrement les résultats. seulement a chaque nouveau concours, ma base de donnée est réinitialisée pour simplifier les scripts.
mais je souhaiterais tout de même conserver les résultats des concours, sous forme html.
je voudrais donc savoir si a partir d’une page php affichant les résultats, on peut copier automatiquement la page en html, dans un répertoires spécifier (genre ./résultats/), pour pouvoir établir une sorte d’archive des résultats…
par exemple dès que le concours est terminé, le script affiche les résultats, qui sont également copiés en html dans mon répertoire, qui sera listé sur une page d’archive. sachant que le php est valable que pour le dernier concours, vu que la page est réinitialisée…

merci d’avance pour ceux qui auront tout suivi :smiley:

++, ISZ

Regarde du côté d’ob_start() et ob_get_flush().

oui, mais encore ? :smiley:

Regarde la doc, nunuche :slight_smile:

En gros :

ob_start();
machin_qui_fait_du_code_html ();
file_put_contents('sauvegarde.html';, ob_get_flush());

(oui ça bug)

ben enfait jai regardé vite fait la doc, et jai pas compris en quoi ça pouvait me servir :ane:

donc en gros je mets :

ob_start();
<?php echo "$variablesquejaibesoin"; ?> ();
file_put_contents('nomdemapagehtmlquiserasauvegardee-<?php echo"$numerodelasauvegardequejeveuxavoir"; ?>.html?#39;;, ob_get_flush());

et ça marche ?

Non.

Parce que ton code php est totalement invalide.

Je suppose que lorsque tu affiche ta page, elle génère du contenu envoyé à l’utilisateur. D’accord? Bref: ce que je te dis juste, c’est sauvegarder ce contenu dans un fichier en plus de l’envoyer à l’utilisateur.

voila enfait j’ai trouvé, merci encore une fois a theblackeagle pour son aide et sa gentillesse.

donc voila, il ma appris a me sevrir de ce que tu viens de me donner, et ça marche. voila, problème réglé :clap:

merci et a bientot,

cordialement, TIGER.

je veux sauver le flux de sortie php dans un fichier sauvegarde.txt sans affichage dans le navigateur,:


<?php
ob_start();
//file_put_contents('sauvegarde.txt', ob_get_flush());
//remplacé  file_put_contents par fopen fwrite fclose car chez free file_put_contents inconnu

$fichier = fopen("sauvegarde.txt","w");
fwrite($fichier,ob_get_flush());
fclose($fichier);

?>
<html>
 <body>
 <p>c'est un test de mise du tampon dans un fichier.</p>
 </body>
</html>

ça cree pas le fichier et ça affiche dans le nav le contraire de ce que je voulais faire?
merci si réponse.

C’est normal que ça affiche dans le navigateur vu que tu utilise ob_get_flush()[/url], pour ne pas flusher (cad envoyer au navigateur - enfin au serveur HTTP en réalité), tu dois faire appel à [url=http://fr.php.net/ob_get_contents]ob_get_contents().
De puis tu fais ton appel à ob_get_flush() avant d’avoir mis quoi que ce soit dans le tampon (il faut que ton code HTML soit situé avant cet appel).

Edit : ne pas oublier le petit appel à ob_end_clean() à la fin (histoire d’avoir un code propre)