Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3195 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  générer pages statiques depuis les pages faites par PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

générer pages statiques depuis les pages faites par PHP

n°344513
chninkel
Posté le 26-03-2003 à 22:38:35  profilanswer
 

Bonjour,
 
Je cherche comment générer une page statique HTML identique à la page issue du traitement PHP.
 
exemple :
requete PHP sur base MySQL avec news de Novembre dernier. La page s'affiche sur l'écran du client.
Je voudrais aussi la sauvgarder dans un fichier '.htm' sur le serveur.
 
Possible ?
 
merci
JLC

mood
Publicité
Posté le 26-03-2003 à 22:38:35  profilanswer
 

n°344722
ethernal
Chercheur de vérité...
Posté le 27-03-2003 à 01:37:09  profilanswer
 

oui.

Code :
  1. //empêche l'affichage
  2. ob_start();
  3. //donne un nom au fichier
  4. $mon_fichier= 'cache/nom_de_mon_fichier.html';
  5. //teste si le fichier en cache existe
  6. if (file_exists($mon_fichier)){
  7.   //permet l'affichage
  8.   ob_end_clean();
  9.   //affiche la page sauvée
  10.   echo implode('',file($mon_fichier));
  11. }
  12. else{
  13.   //contenu de la page
  14.   echo 'voici ma page';
  15.   //sauvegarde la page
  16.   $fp= fopen($mon_fichier, 'w+');
  17.   $content= ob_get_contents();
  18.   //vide le buffer
  19.   ob_end_clean();
  20.   //écrit dans le fichier
  21.   $fwrite($mon_fichier, $content);
  22.   fclose($fp);
  23.   echo $content;
  24. }


Message édité par ethernal le 27-03-2003 à 01:37:26

---------------
...oups kernel error...
n°344782
chninkel
Posté le 27-03-2003 à 09:07:16  profilanswer
 

Alors là, excellent  
hourra pour ethernal
merci ça va me débloquer
JLC
 
 
juste petite rectif sur  //écrit dans le fichier
 $fwrite($mon_fichier, $content);
mais
 fwrite($fp, $content);


Message édité par chninkel le 27-03-2003 à 09:12:45
n°344876
ethernal
Chercheur de vérité...
Posté le 27-03-2003 à 10:15:15  profilanswer
 

oui désolé, il se faisait un peu tard :D


---------------
...oups kernel error...
n°345424
chninkel
Posté le 27-03-2003 à 15:35:58  profilanswer
 

:jap:  
c'est peanuts par rapport au service rendu ...  
merci encore
 :hello:

n°346057
ethernal
Chercheur de vérité...
Posté le 27-03-2003 à 23:33:57  profilanswer
 

il y a une autre tactique qui ne nécessite plus de traitement php du tout si ça t'intéresse (ça vient d'un tuto sur zend ou phpbuilder je pense)
 
ça consiste à avoir des liens vers des pages html, si la page n'est pas trouvée alors il la génère.
ex :
.htaccess

Code :
  1. ErrorDocument 404 /index.php


 
index.php

Code :
  1. //analyse de l'url demandée, imaginons des urls de type /cache/news_20030301.html
  2. $url= explode('_', basename($HTTP_SERVER_VARS['REQUEST_URI']));
  3. //$url[0]= news ; $url[1]= 20030301 ;
  4. //traitement de la page
  5. include($url[0].'.php'); //attention prob de sécu !!
  6. //sauvegarde dans le fichier (même méthode que le cache précédent) dans /cache/


 
et voila :)


Message édité par ethernal le 27-03-2003 à 23:34:38

---------------
...oups kernel error...
n°346151
chninkel
Posté le 28-03-2003 à 09:00:36  profilanswer
 

La sol que tu m'as indiquée l'autre jour convient parfaitement.
Je vais déjà avancer sur ce que j'ai à faire.
Peut-être plus tard, j'étudierais cette autre façon de faire.
 
Sinon, pendant mes recherches, j'ai plusieurs fois rencontré des trucs sur 'fflush', mais que je n'ai pas réussi à utiliser.
Le fichier créé était toujours vide ...
Tu connais cette fonction ?
 
JMZ

n°346202
ethernal
Chercheur de vérité...
Posté le 28-03-2003 à 10:03:13  profilanswer
 

jamais utilisée... c'est pour forcer le vidage des buffers, mais à part ça je connais pas.


---------------
...oups kernel error...
n°347005
chninkel
Posté le 28-03-2003 à 22:45:28  profilanswer
 

bonsoir,
 
Pour aller + loin , peut-on 'intercepter' le retour d'un formulaire de requête et le traiter avant affichage ?
 
mon prog PHP fait une requête sur site étranger qui affiche une page en retour.
Puis-je traiter cette page avant son affichage ?
( pour en extraire seulement ce qui mintéresse )
 
JMZ


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  générer pages statiques depuis les pages faites par PHP

 

Sujets relatifs
[PHP] utiliser beaucoup d'objets en php ?PHP et WORd
[PHP]Problème récuperation fichier uploadé:open_basedir restriction...[PHP] Version a partir de laquelle est disponible une fonctionalité
[PHP] include qui marche pas ?[PHP] probleme avec des pseudo frames...
PHP : XML parser : plante sur les accents ![Session] Passage de l'id de session de pages en pages
[PHP/SQL] ORDER BY m'a tuer ...Entrée clavier avec PHP en ligne de commande ?
Plus de sujets relatifs à : générer pages statiques depuis les pages faites par PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR