[PHP]Récupération code source
Fermé
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
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:
- [PHP]Récupération code source
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
2 réponses
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
5 février 2025
1 526
11 mai 2006 à 02:45
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:
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();