[PHP] Obtenir le code source...

Obtenir le code source... [PHP] - PHP - Programmation

Marsh Posté le 17-07-2002 à 11:46:27    

Y a t-il une fonction PHP qui permettrait d'obtenir dans une variable le code source d'une page une fois la page HTML générée par PHP?
Par exemple, je génère la page index.php?cat=3 et je met tout le contenu de la page générée dans une variable.
 :??:

Reply

Marsh Posté le 17-07-2002 à 11:46:27   

Reply

Marsh Posté le 17-07-2002 à 11:50:13    

$var=eval("<?le code php?> );

Reply

Marsh Posté le 17-07-2002 à 11:55:30    

Regarde par là :
http://www.php.net/manual/en/funct [...] ntents.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 17-07-2002 à 13:10:12    

j'y arrive po  :??:
j'ai essayé $contenu = ob_get_contents() ça me renvoie rien


Message édité par Toto21 le 17-07-2002 à 13:11:32
Reply

Marsh Posté le 17-07-2002 à 13:34:23    

a mon avis il faut faire : $contenu=eval(include("moteur.php" ));
echo $contenu;

Reply

Marsh Posté le 17-07-2002 à 13:36:23    

Pour qu'ob_get_contents() te retourne quelque-chose, il faut que ce que génère ton script PHP ne soir PAS envoyé au client.
 
Pour çà, au début de ton script, tu utilise ob_start() qui inque à PHP d'"Enclencher la bufferisation de sortie".
Ensuite, rien de ce que ton script produit ne sera envoyé au client jusqu'à l'appel de ob_flush() ou ob_end_flush(), qui vide le buffer.
 
Mais avant de vider le buffer, tu peux récupérer son contenu avec ob_get_contents() !
 
Exemple :
 
<?php
  ob_start();
  echo( "<HTML>\n" );
  echo( "<BODY>\n" );
  echo( "<H1>BONJOUR TOTO21 !</H1>\n" );
  echo( "</BODY>\n" );
  echo( "</HTML>\n" );
  $str = ob_get_contents();
  ob_end_flush();
?>
 
Et comme par magie, $str contient :
<HTML>
<BODY>
<H1>BONJOUR TOTO21 !</H1>
</BODY>
</HTML>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 17-07-2002 à 13:50:08    

ok mais alors une question...
 
Je suis dans la page index.php
je voudrais que quand je lance cette page, j'obtienne dans une varaiable $var le code html que générerait l'appel au fichier /index2.php&cat=3
 
Comment est-ce que je peux passer un paramètre?

Reply

Marsh Posté le 17-07-2002 à 14:05:52    

La question n'est plus la même !
Au début, tu demande si une page peux récupérer le contenu de ce quelle envoie.
 
Maintenant, tu veux récupérer le résultat d'une autre page.
 
Ok pour çà, le mieux, c'est de passer par les sockets !
Si je devine bien, çà te permettra de récupérer le HTML généré par une page d'où quelle vienne ! De ton serveur, on de n'importe où sur le NET !
 
Exemple :

$serveur = "www.tonSite.com";
 $php = "/index2.php&cat=3";
 
 $fp = fsockopen( $serveur, 80, &$errno, &$errstr, 30);
 if($fp)
 {
  fputs($fp,"GET $php HTTP/1.0\n\n" );
  $buff = "";
  while(!feof($fp))
  {
   $buff .= fgets($fp,128);
  }
  fclose($fp);
 }
 else
 {
  // Impossible de joindre le site !
  exit;
 }
 
 // $buff contient la page demandée ! ! !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed