Function + Fputs , je rame

Function + Fputs , je rame - PHP - Programmation

Marsh Posté le 30-01-2007 à 22:11:18    

Salut
 
Je coince à un endroit de mon code, c'a m'a l'air tout con, je vous le colle :
 

Code :
  1. function test1($texte)
  2. {
  3. echo "$texte";
  4. }
  5. $commande=test1("hello" );


 
Bon comme vous pouvez le voir, c'est une fonction bidon qui permet d'afficher le $texte passé en argument.
Le "hello" m'est bien affiché, tout fonctionne nickel.
 
Mais je voudrais insérer ce "hello" dans un fichier texte, avec la commande suivante :
 

Code :
  1. $fp = fopen("fichier.txt", "w+" );
  2. fputs($fp,$commande);
  3. fclose($fp);


 
Et là ça ne prend pas du tout, je suis dessus depuis des heures :|
 
Ou est mon erreur ? [:klem3i1]  
 
Merci à vous  :jap:

Reply

Marsh Posté le 30-01-2007 à 22:11:18   

Reply

Marsh Posté le 30-01-2007 à 22:43:33    

Dans la compréhension de ce qu'est une fonction et de l'effet de celle que tu as écrite.
 
Ta fonction affiche un texte sur ta page et ne retourne aucun résultat. Ton fputs devrait écrire dans le fichier la valeur de retour de la fonction, pas ce que la fonction va faire.
 
=> le manuel qui va bien

Reply

Marsh Posté le 30-01-2007 à 23:47:22    

aaah yes, la commande return() bien sur, elle sert donc bien à ça.
 
Merci de m'avoir mis sur la piste. :jap:

Reply

Marsh Posté le 31-01-2007 à 01:03:25    

Hmmmm, je coince encore :/

 

Voici la situation, en un peu plus evolué :

 
Code :
  1. function parler($nb)
  2. {
  3. for ($i=0; $i<$nb; $i++)
  4.  {
  5.  echo "ahah!";
  6.  }
  7. }
  8. $commande=parler(5);
 

avec cette commande, il m'affiche bien 5 fois "ahah!"

 

Par contre pour le fputs() je suis un peu paumé, car il n'y a pas de variable associable à "return". Donc j'ai testé un "return;" seul, mais je n'ai qu'un seul "ahah!" inseré dans le fichier, vu que return() semble stopper la fonction et même la boucle.

 

comment caser return() dans cette situation ? Ou alors y a une autre alternative ?


Message édité par -tinost@r- le 31-01-2007 à 01:03:54
Reply

Marsh Posté le 31-01-2007 à 01:24:26    

Oui, il ne peut y avoir qu'un seul return (heureusement que j'ai mis un lien plutôt, je pourrais me vexer en pensant que tu ne l'as pas lu :D) dans une fonction.
 
Mais return peut aussi retourner le contenu d'une variable, qu'est ce qui t'empêche (j'espère que c'est un exercice ton exemple hein) de faire :

Code :
  1. $retour = '';
  2. for($i=0;$i<$nb;$i++){
  3. $retour .= "ahah !";
  4. }
  5. echo $retour;
  6. return $retour;


 
?

Reply

Marsh Posté le 31-01-2007 à 01:29:09    

Si si, j'ai lu ,merci pour le lien :D
 
C'est pas un exercice, c'est juste mon code ultra simplifié histoire de condenser :D

Reply

Marsh Posté le 31-01-2007 à 01:38:01    

rhoooooo, bizarre

 
Code :
  1. $parler .= $retour;
  2. $fp = fopen("fichier.txt", "w+" );
  3. fputs($fp,$parler);
  4. fclose($fp);
 

Notice: Undefined variable: retour in test.php on line 1

 

Il m'a rien retourné o_O

 

sauf le cerveau, ça fout la cervelle en compote defois :/

 


Message édité par -tinost@r- le 31-01-2007 à 01:39:12
Reply

Marsh Posté le 31-01-2007 à 01:58:26    

Pfiou, on est pas couché là.
 
Tu ne récupères pas la valeur de retour d'une fonction en utilisant le nom que j'ai donné à la variable mais juste en écrivant le nom de la fonction. Exemple sans variable

Code :
  1. function foo(){
  2. return 1;
  3. }
  4. $bar = foo(); //équivaut à $bar = 1


 
Et pareil quelque soit ce que tu mets derrière le return.

Reply

Marsh Posté le 31-01-2007 à 02:04:05    

Pfiou, ça y est je viens de capter :)
Enfin à peu près, faut le temps d'assimiler tout ça.
 
merci pour ta patience, je n'hésiterai pas à revenir :D
 
:jap:

Reply

Marsh Posté le 31-01-2007 à 08:59:34    

-tinost@r- a écrit :


merci pour ta patience, je n'hésiterai pas à revenir :D


 
Essaie de lire un bon tutorial/manuel de PHP avant, parce que si tu coinces sur ce genre de choses, c'est un peu mal barré. [:spamafote]  
 
(Et là encore c'est même pas spécifique au PHP.)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 31-01-2007 à 08:59:34   

Reply

Marsh Posté le 01-02-2007 à 00:57:36    

sielfried a écrit :

Essaie de lire un bon tutorial/manuel de PHP avant, parce que si tu coinces sur ce genre de choses, c'est un peu mal barré. [:spamafote]  
 
(Et là encore c'est même pas spécifique au PHP.)


 
Je reviens 6 ans apres avoir laché le PHP, y a pas mal de repères paumés  [:twixy]

Reply

Sujets relatifs:

Leave a Replay

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