Mettre résultat d'un fichier php externe dans une variable

Mettre résultat d'un fichier php externe dans une variable - PHP - Programmation

Marsh Posté le 23-02-2011 à 13:16:07    

Bonjour,
 
Comment mettre un fichier externe php dans une variable ?
 
Exemple : Je reprend un site et je bloque sur un problème :
 
J'ai un fichier module.php qui contient (pour résumer) :
 

Citation :


<?php $nom="bernard" ;?>  
hello <?php echo $nom ?>
 


 
Ce qui retourne "hello Bernard"
 
Au début, j'avais un autre fichier et j'incluais ça dans ce fichier comme suit, pour résumer :

Citation :


<html>
<?php include("module.php" ); ?>
</html>


 ce qui retourne <html>hello bernard </html>
 
Mon problème, c'est que je veux, avec ce même module.php, mettre "hello bernard" dans une variable, et j'y arrive pas...
 
Si je fais :

Citation :

 
<?php $bienvenue=include("module.php" ); ?>
 
<html>
<?php $bienvenue; ?>
</html>


 
ça me met "hello bernard" au dessus de la balise html.
J'ai aussi fait des tests avec implode() ou file(), bref, j'y arrive pas.
Auriez vous une solution ?
 

Reply

Marsh Posté le 23-02-2011 à 13:16:07   

Reply

Marsh Posté le 23-02-2011 à 14:00:37    

Reply

Marsh Posté le 23-02-2011 à 14:54:11    

J'avoue ne pas savoir comment utiliser cette fonction

Reply

Marsh Posté le 23-02-2011 à 16:14:41    

<?php  
  ob_start();
  include ('module.php');
  $content = ob_get_contents();
  ob_end_flush();
  echo $content;
?>
 
Mais tu ferais mieux de travailler avec des fonctions.


---------------
Créer votre blog gratuitement
Reply

Marsh Posté le 23-02-2011 à 16:47:24    

J'ai testé ce script.  
Il y a un changement puisque effectivement, $content prend en compte le fichier externe.
Mais include ('module.php'); affiche quand même le fichier externe aussi.
 

Citation :


<?php  
 ob_start();  
  include ('module.php');  
  $_CONTENT = ob_get_contents();  
  ob_end_flush();  
?>  
 
<html>  
<?php $_CONTENT; ?>  
</html>  


 
retourne :
 

Citation :


hello bernard
<html>hello bernard </html>


Reply

Marsh Posté le 23-02-2011 à 16:58:26    

pardon c'est ob_end_clean à la place de ob_end_flush


---------------
Créer votre blog gratuitement
Reply

Marsh Posté le 23-02-2011 à 17:00:45    

C'est pas ob_end_flush() qu'il fallait utiliser, mais ob_end_clean().
 
Merci, ça marche. Je ne sais pas si c'est très propre mais bon...

Reply

Marsh Posté le 25-02-2011 à 16:46:53    

Faudrais aussi songer à relire le manuel et comprendre ce qu'est un include et un require... :o
Et aussi réviser la programmation en général.
 
Sinon un des bon trucs à faire aurai été :
 
HelloWorld.php

Citation :


function HelloWorld($nom) {
    echo 'Hello ' . $nom . ' !';
}


 
index.php

Citation :


<?php
    include('HelloWorld.php');
    $nom = 'Bernard';
?>  
<html>
<?php HelloWord($nom); ?>
</html>


Message édité par MEI le 25-02-2011 à 16:47:11

---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Sujets relatifs:

Leave a Replay

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