Ecrire le resultat d'une requete dans un fichier texte

Eléphant du PHP | 294 Messages

25 juil. 2007, 12:27

Bonjour

Quelqun pourrait-il m'indiquer un tutoriel ou me dire comment faire ?
je voudrais ecrire le resultat d'une requête dans un fichier txt.
voila comment elle s'affiche dans la page, je voudrais reproduire la même chose dans le fichier txt:

Code : Tout sélectionner

MARQUE;;NOM PRODUIT;;COULEUR;;CATEGORIE;;PRIX;;PROMO;;CODE_PRODUIT;;FRAIS DE PORT<br /> <?php do { echo($row_WADAarticles['marque']); ?>;;<?php echo($row_WADAarticles['reference']); ?>;;Coloris:nous consulter;;<?php echo($row_WADAarticles['categorie']); ?>;;<?php echo($row_WADAarticles['prix']); ?>;;;;<?php echo($row_WADAarticles['ID']); ?>;; <?php if ($row_WADAarticles['prix']<= 60 && $row_WADAarticles['prix']>0) { echo "10.00"; } elseif ($row_WADAarticles['prix']> 60 && $row_WADAarticles['prix']< 600) { echo "20.00"; } elseif ($row_WADAarticles['prix']>= 600) { echo "00.00"; } ?><br /> <?php } while ($row_WADAarticles = mysql_fetch_assoc($WADAarticles)); ?>
je suppose qu'il faut écrire ça dans une variable, mais ensuite...

merci

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

25 juil. 2007, 12:48

tu remplace echo par des concaténations dans une même variable que tu écris dans un fichier par file_put_contents()

Exemple:
<?php 
//Donner une valeur à $variable
$variable = "Bonjour ";
//Ajouter d'autres valeurs à $variable
$variable .= " Toto!\r\n"; //\r\n : caractère de fin de ligne
$variable .= " Voici un fichier à plusieurs lignes\r\n"; //\r\n : caractère de fin de ligne
$variable .= " ligne\r\n"; //\r\n : caractère de fin de ligne
$variable .= " ligne\r\n"; //\r\n : caractère de fin de ligne

//Ecrit $variable dans le fichier.txt
file_put_contents ("fichier.txt", $variable);
?>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 294 Messages

25 juil. 2007, 17:59

merci pour ta reponse, je l'ai mise en application et en local elle fonctionne a merveille, helas pour mon grand malheur, le serveur distant est en PHP4 apparemment et il ne comprend pas la fonction: j'ai alors trouvé un script qui pourrait l'adapter, mais il ne semble pas bien fonctionner; ça donne ça et ça n'ecrit rien dans le fichier:
$filename="../listing.txt";
if(!function_exists('file_put_contents')) {
 function file_put_contents($filename, $variable, $file_append = false) {
  $fp = fopen($filename, (!$file_append ? 'w+' : 'a+'));
  if(!$fp) {
   trigger_error('file_put_contents ne peut pas écrire dans le fichier.', E_USER_ERROR);
   return;
  }
  fputs($fp,  $variable);
  fclose($fp);
si tu as une idée, encore merci

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

25 juil. 2007, 21:15

ça marche bien!
<?php 
//Donner une valeur à $variable
$variable = "Bonjour ";
//Ajouter d'autres valeurs à $variable
$variable .= " Toto!\r\n"; //\r\n : caractère de fin de ligne
$variable .= " Voici un fichier à plusieurs lignes\r\n"; //\r\n : caractère de fin de ligne
$variable .= " ligne\r\n"; //\r\n : caractère de fin de ligne
$variable .= " ligne\r\n"; //\r\n : caractère de fin de ligne

//Ecrit $variable dans le fichier.txt
$filename="../listing.txt";
file_put_contents ($filename, $variable);
 
//Déclaration de la fonction
if(!function_exists('file_put_contents')) {
 function file_put_contents($filename, $variable, $file_append = false) {
  $fp = fopen($filename, (!$file_append ? 'w+' : 'a+'));
  if(!$fp) {
   trigger_error('file_put_contents ne peut pas écrire dans le fichier.', E_USER_ERROR);
   return;
  }
  fputs($fp,  $variable);
  fclose($fp); 
}
}
?>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 294 Messages

26 juil. 2007, 07:53

et ben chez moi j'y arrive ni en local ni en distant... :?
j'ai été lâche( ou futé?), j'ai passé mon site en PHP5 et la ça baigne, d'autant que cette fonction est trop facile a utiliser, encore merci.

ViPHP
ViPHP | 2287 Messages

26 juil. 2007, 07:58

et ben chez moi j'y arrive ni en local ni en distant... :?
j'ai été lâche( ou futé?), j'ai passé mon site en PHP5 et la ça baigne, d'autant que cette fonction est trop facile a utiliser, encore merci.
Tu as bien fait :D
if(!@work()){ Nespresso(); } else { what(); }
______________________________