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

  FORUM HardWare.fr
  Programmation
  PHP

  Créer un fichier HTML aprés execution de la page PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer un fichier HTML aprés execution de la page PHP

n°1824653
johnson950
Posté le 10-12-2008 à 09:52:27  profilanswer
 

Bonjour,
 
Un fichier php s'occupe de créer une multitude de tableaux (assez long à l'affichage car il doit parser plusieurs fichiers), c'est pourquoi j'aimerais qu'une fois créer, il sauvegarde le résultat dans un fichier HTML. Ainsi, les utilisateurs auront un affichage instantanée vue que l'on va lire le fichier HTML.
 
Ma question est donc comment sauvegarder un fichier HTML après exécution de la page PHP. (J'aimerais que ce soit une commande a la fin du fichier PHP si possible)
 
Merci de votre aide


Message édité par johnson950 le 10-12-2008 à 10:00:06
mood
Publicité
Posté le 10-12-2008 à 09:52:27  profilanswer
 

n°1824659
mr simon
Posté le 10-12-2008 à 10:05:43  profilanswer
 

Tu peux utiliser l'API php (fopen, fwrite, fclose) pour créer ce fichier, et utiliser une redirection : header("Location: tonfichier.html" ).
 

n°1824672
johnson950
Posté le 10-12-2008 à 10:17:57  profilanswer
 

Merci de ta réponse.
Cependant, j'aimerais insérer dans le fichier les tableaux créer par la page PHP.
 
Exemple :
fichier php :
Création tableau 1  
Création tableau 2
Création tableau 3
Création fichier html contenant les 3 tableaux
 
D'après ce que tu me dis je devrais :
fichier php
ouverture du fichier html
création du tableau 1 + écriture sur le fichier html
création du tableau 2 + écriture sur le fichier html
création du tableau 3 + écriture sur le fichier html
fermeture du fichier html
 
 
N'existe 'il pas un moyen de lancer la page php et a la fin l'enregistrer en fichier html ?
 
Merci de ton aide


Message édité par johnson950 le 10-12-2008 à 10:19:15
n°1824680
mr simon
Posté le 10-12-2008 à 10:25:45  profilanswer
 

Je ne connais pas un moyen "automatique" de faire çà. Ma solution n'est pas très complexe à mettre en place.  
 
Pour créer tes tableaux, tu fais quelques chose comme

Code :
  1. foreach ($item as $key => $val)
  2. {
  3.   echo "<tr>":
  4.    echo "<td>$key</td>\n";
  5.    echo "<td>$val</td>";
  6.   echo  "</tr>";
  7. }

n°1824683
skeye
Posté le 10-12-2008 à 10:28:51  profilanswer
 

Output Buffering.
 
http://fr.php.net/manual/en/book.outcontrol.php


---------------
Can't buy what I want because it's free -
n°1824685
skeye
Posté le 10-12-2008 à 10:29:38  profilanswer
 

(sinon un moteur de templates avec fonctionnalités de mise en cache te fera ça très bien et d'une manière bien plus fine qu'en le faisant à la main).


---------------
Can't buy what I want because it's free -
n°1824686
Profil sup​primé
Posté le 10-12-2008 à 10:31:38  answer
 

Bah ...
 
Fichier php :
si fichier.html existe:
  afficher fichier.html
sinon :
  créations des tableaux
  créer fichier.html
  insérer code dans fichier.html
  afficher fichier.html
 
 
   [:airforceone]

n°1824688
skeye
Posté le 10-12-2008 à 10:32:23  profilanswer
 


 
si le contenu est dynamique il faut rajouter des règles un poil plus fines que ça...[:joce]


---------------
Can't buy what I want because it's free -
n°1824736
kao98
...
Posté le 10-12-2008 à 11:02:00  profilanswer
 

skeye: +1 ! Faut mettre en place un système de cache !
D'ailleurs, y'en a pas un en standard avec php5 ? Pear ?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1824742
skeye
Posté le 10-12-2008 à 11:10:29  profilanswer
 

en standard je pense pas. Moi j'utilise le système du moteur de templates smarty.


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 10-12-2008 à 11:10:29  profilanswer
 

n°1826070
johnson950
Posté le 12-12-2008 à 14:00:15  profilanswer
 

Bonjour,
 
Merci pour vos réponses !
Cependant j'ai opté pour une autre alternative qui consiste à utiliser php en ligne de commande;
J'obtiens donc

Code :
  1. php -q fichier_source.php > fichier_destination.htm


 
Cependant je me confronte maintenant un nouveau probleme car je veux passer des variables en GET

Code :
  1. php -q fichier_source.php?annee=2008 > fichier_destination.htm


 
La je bloque je ne sais pas comment faire...
Avez vous une idée ou une solution ?
 
Message d'erreur :
Could not open input file :tableau_forfait.php?annee=2008
 
Merci


Message édité par johnson950 le 12-12-2008 à 14:12:46
n°1826086
skeye
Posté le 12-12-2008 à 14:21:42  profilanswer
 

c'est vraiment pas une bonne idée de faire ça en ligne de commande...[:pingouino]


---------------
Can't buy what I want because it's free -
n°1826093
johnson950
Posté le 12-12-2008 à 14:29:05  profilanswer
 

Code :
  1. php tableau_forfait.php 2008


 
Et on récupere :

Code :
  1. $_SERVER['argv'][0] sera le nom du fichier
  2. $_SERVER['argv'][1] vaudra 2008


 
Pourquoi n'est ce pas une bonne idée ?


Message édité par johnson950 le 12-12-2008 à 14:29:54
n°1826102
skeye
Posté le 12-12-2008 à 14:35:02  profilanswer
 

Parce-que ça t'oblige à tout générer d'un coup, probablement en cron. Alors qu'en fait ça ne te sert à rien de les avoir à l'avance.
Et je serais curieux de voir la tronche du résultat, en fait.
Si tu veux un truc bien foutu tu vas recoder tout un système de cache...ce qui existe déjà en tout fait, et probablement meilleur que ce que tu feras.


Message édité par skeye le 12-12-2008 à 14:35:55

---------------
Can't buy what I want because it's free -
n°1826118
johnson950
Posté le 12-12-2008 à 14:45:15  profilanswer
 

Avec un système en cache, lors de la première connexion, les tableaux vont mettre une plombe pour s'afficher puis lors des connexions suivantes, ils vont être pris en partie dans le cache.
 
C'est comme cela que ça fonctionnera ?
 
Merci encore pour ton aide car si cela peut être bénéfique, je veux bien essayer ta façon de faire.
 
Merci

n°1826126
skeye
Posté le 12-12-2008 à 14:49:29  profilanswer
 

oui, c'est comme ça, grosso modo.


---------------
Can't buy what I want because it's free -
n°1826130
kao98
...
Posté le 12-12-2008 à 14:52:39  profilanswer
 

Ha ouais. Donc en fait, on t'a donné plein d'élément de réponse, mais tu n'en n'a même pas étudié une, c'est ça ?
 
Oui, le cache, c'est un peu ça. La première fois, la page va être longue à s'afficher. Les fois suivantes, comme elles auront été enregistrée dans le cache, ce sera quasi-instantané. Il piochera directement dans le cache, la page ne sera pas re-générée.
 
En plus, c'est très facile à mettre en oeuvre.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1826140
johnson950
Posté le 12-12-2008 à 15:09:48  profilanswer
 

Le cache j'ai déjà travaillé un peu dessus, le seul probleme c'est que lors de la création de mes tableaux j'ouvre une multitude de fichiers (qui peuvent avoir changer) il faut donc les réouvrir de nouveau lors du chargement de la page.
 
Le cache a ce moment la n'est pas bénéfique pour moi ? Qu'en pensez vous ?

n°1826144
skeye
Posté le 12-12-2008 à 15:12:18  profilanswer
 

Ils sont modifiés comment, ces fichiers? Via ton site? D'une autre manière?


---------------
Can't buy what I want because it's free -
n°1826145
kao98
...
Posté le 12-12-2008 à 15:12:28  profilanswer
 

A toi de gérer l'invalidation de ton cache :spamafote:
Quand tu modifies tes fichiers, tu invalides ton cache, comme ça il sera regénéré.
 


Message édité par kao98 le 12-12-2008 à 15:13:09

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98

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

  Créer un fichier HTML aprés execution de la page PHP

 

Sujets relatifs
Script PERL & PHP pour interface CISCO avec carte CSM[PHP/MySQL/JAVA] Présentation d'un site innovant. Vos réactions
Mise à jour PHPEcriture de log et accès simultané au fichier
Connaitre les pc connecter à un réseau avec une page en phpProbleme avec pages html et lien sous IE 7
Upload fichier supérieur à 300 MoVB sauvergarde si fichier inexistant
[Résolu] Ne pas charger une page pdt la vérifi des variable de sessionretour à la page précédente : conserver les données de session
Plus de sujets relatifs à : Créer un fichier HTML aprés execution de la page PHP


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