Génerer un fichier statique à partir d'un script

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Génerer un fichier statique à partir d'un script

html et aurweb

par auracom » 01 août 2006, 14:53

Bonjour,

Contrairement à ce qui est écrit dans ce forum, on est totalement libre de choisir la nature du texte dans lequel les données retrouvées par aurweb seront incrutées.

- Html
- Xml
- Perl
- javascrit
......

Pour plus d'informations, contactez Auracom

Merci

par ventouse » 26 juil. 2006, 18:38

Nickouel merci beaucoup !!!!!!

par ouckileou » 26 juil. 2006, 18:12

C'est parceque c'est une fonction uniquement dispo en PHP5, je n'avais pas fait attention

Un commentaire sur la page de doc (le 1er) te dit comment l'émuler en PHP4

par ventouse » 26 juil. 2006, 18:03

En fait c'est pas grave parceque $sourceHTML contient bien le code INTERPRETE de phpinfo(); donc c'est tout bon !

je vais adapter ça à ma page un peu plus complexe demain en arrivant au taf. D'ici là je considère ce post comme résolu. Merci infiniment !

par ventouse » 26 juil. 2006, 17:59

Merci de ta réponse ouckileou

J'ai donc essayé de faire ça ici même :

http://www.blumaise.org/test/

test.php contient seulement :
<?php
phpinfo();
?>
process.php :
<?php
// récupération du contenu généré par ta page
$sourceHTML = file_get_contents("http://www.blumaise.org/test/test.php");

// écriture dans le fichier HTML à stocker
file_put_contents("test.html", $sourceHTML);
?>
Mais voila le résultat que j'ai quand je clique sur process.php :

Fatal error: Call to undefined function: file_put_contents() in /home/blumais/public_html/test/process.php on line 6

par ouckileou » 26 juil. 2006, 17:41

Si si maintenant c'est très clair, il y avait juste ce petit point à éclaircir :)

Tu peux faire :
// récupération du contenu généré par ta page
$sourceHTML = file_get_contents("http://www.example.com/agenda.php");

// écriture dans le fichier HTML à stocker
file_put_contents("agenda.html", $sourceHTML);
A tester, il y a peut-être d'autres méthodes.

par ventouse » 26 juil. 2006, 17:33

Oui j'ai besoin de la page dynamique visible ET du résultat de cette page stockée dans un fichier à part.

Mais je galère à expliquer alors que ça me paraît assez simple... En gros pour résumer, dans un navigateur mettons que je visualise la page agenda.php. Elle est toute clean, toutes les informations que je veux y sont etc. Ce que je voudrais réussir à faire par un script, c'est l'équivalent de :

- copier / coller la source générée par agenda.php dans un fichier html
- fourrer ce mm fichier sur mon serveur web pour post-processing

Aurweb est un moteur de recherche assez performant mais un peu à l'ancienne.

http://www.auracom.fr/

par ouckileou » 26 juil. 2006, 17:19

Il faudrait effectivement être plus clair maintenant sur des détails :

tu as ton fichier agenda.php, qui récupère des infos en base et les affiche en HTML, avec des echos et tout. C'est ça ?

Ce qu'il te propose, c'est de remplacer les echo par des fput() pour stocker les sorties dans un fichier.

Est-ce que tu as besoin à la fois d'avoir une page dynamique qu'on peut appeller par HTTP ET du résultat de cette page stockée dans un fichier à part ?

=> NON : tu peux prendre la méthode qu'il t'a donnée
=> OUI : tu peux ouvrir un fichier via fopen() en passant l'url et tu devrais ainsi récupérer le résultat

Donc précise ce que tu veux faire et pourquoi, perso je ne sais pas ce que c'est que Aurweb

par ventouse » 26 juil. 2006, 17:12

Oui ça je pense que je sais faire, le truc que je me demande c'est comment remplacer "plein de truc" par le résultat interprété d'un script php !
Je suis pas clair ou bien ? :D

par garf » 26 juil. 2006, 17:06

dans ton script agenda :
// ouverture du fichier à créer
$fichier=fopen("fichier.html","w");

// écriture des infos, tu peux appeler autant de fois que tu veux cette fonctions, dans des boucles etc...
fwrite($fichier,"plein de truc");

// On ferme le fichier, le fichier HTML existe
fclose($fichier);
Voila, c'est tout ;)

par ventouse » 26 juil. 2006, 16:55

Ah et bien je veux surtout pas récupérer le code source, mais le code interprété ! Je pensais qu'il existait une méthode ou mm une fonction simple pour gérer ce genre de chose.

par ventouse » 26 juil. 2006, 16:54

Dans le contexte du site sur lequel je travaille, malheureusement je n'ai pas le choix. Il faut que toutes les pages soient du html car on utilise Aurweb...

Si j'avais le choix je m'en serais débarassé vite fait pour ne gérer que du php comme tu le proposes !

par ouckileou » 26 juil. 2006, 16:54

Merci de vos réponses. Cela signifie-t-il que si j'ouvre mon fichier PHP avec fopen, que j'écris avec fwrite un .html, le contenu de ce .html sera le code interprété plutôt que le code PHP source ?
Merci.
Non justement, là tu vas récupérer le code source.

par ouckileou » 26 juil. 2006, 16:53

Question : pourquoi veux-tu passer par un fichier intermédiaire ?

Puisque agenda.php va chercher les infos et générer du HTML, à quoi va servir le nouveau fichier ?

par ventouse » 26 juil. 2006, 16:52

Merci de vos réponses. Cela signifie-t-il que si j'ouvre mon fichier PHP avec fopen, que j'écris avec fwrite un .html, le contenu de ce .html sera le code interprété plutôt que le code PHP source ?
Merci.