Page 1 sur 1

Ecrire le resultat d'une requete dans un fichier texte

Posté : 25 juil. 2007, 12:27
par Gico
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

Posté : 25 juil. 2007, 12:48
par sadeq
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);
?>

Posté : 25 juil. 2007, 17:59
par Gico
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

Posté : 25 juil. 2007, 21:15
par sadeq
ç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); 
}
}
?>

Posté : 26 juil. 2007, 07:53
par Gico
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.

Posté : 26 juil. 2007, 07:58
par Calimero
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