[PHP]Récupération code source

Fermé
BobbyE - 10 mai 2006 à 16:00
 vlad - 10 mai 2007 à 12:51
Bonjour à tous
J'explique mon problème: je génère une page à partir de mon code. Le truc, c'est que je veux garder la page générée et la sauvegarder. J'ai pensé au fgets() mais hum... J'ai du mal à le tourner correctement.
Enfin c'est assez tordu comme problème. Pour y aller plus simplement: J'entre des paramètres, puis mon code php génère une page. Ce que je veux c'est garder une copie de cette page en dur sur mon serveur.
J'ai dans l'idée de prendre la source de la page créée et de créer une nouvelle page en dur sur le serveur ou je copierai la source sur fichier généré. Mais c'est pour récupérer la source du fichier que je bloque pas mal. P'têt Curl mais la encore....
Une idée?
Merci
A voir également:

2 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 526
11 mai 2006 à 02:45
Salut,

Quand tu utilises des fonctions d'affichage par défaut comme echo, php envoie directement le flux au client qui a fait la requête à chaque appel de cette fonction d'affichage. Mais tu peux garder en memoire ce flux et en faire ce que tu veux: l'afficher, le mettre dans une variable, le detruire....

C'est grâce aux fonctions
ob_start(): enclenche la bufférisation de la sortie. A chaque appel d'une fonction d'affichage, rien ne sera envoyé au client, tout sera gardé en memoire.
ob_get_contents(): retourne le contenu de cette memoire
ob_end_flush(): retourne au client le contenu de la memoire puis arrête la bufférisation de la sortie (et efface le contenu de ce buffer)

Donc pour ton truc c'est simple:
ob_start();
// Tout ton code
$sortie=ob_get_contents();
//Tu enregistres le contenu de $sortie dans un fichier
/*Puis tu envoies la page au client (si tu as envie, sinon utilise ob_end_clean()  )*/
ob_end_flush();
0
très ingénieux !
merci kilian
:o)
0