recuperer contenu fichier dans un champ mysql

Eléphant du PHP | 191 Messages

16 mai 2005, 10:46

Saluta tous

J'ai un fichier qui est genérer automatiquement par mon pc, et je voudrai recupérer son contenu (quelques lignes) dans le champs "log" une table mysql.......

Comment dois-je faire ?

Merci :wink:
tu as la splendeur d'un enterrement de première class e

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 11:01

Tu ouvre ton fichier, tu places son contenu dans un tableau et tu l'enregistres dans ta bdd !!!!
<?php
$file = "c:/mesDocs/monFichier.log"
if (file_exists($file)) { // Permet de tester l'existence du fichier
  $a_file = file($file);
  mysql_connect("host", "user", "pwd");
  mysql_select_db("db");
  $texte = "";
  foreach($a_file as $index => $val) {
    $text .= $val."\n";
  }
  $str_query = "INSERT INTO table (champ=".$text.")";
  mysql_query($str_requete); or die ("enregistrement impossible");
} else {
  echo "Le fichier 'monFichier.log' n'existe pas");
}
?>
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 191 Messages

16 mai 2005, 11:14

Tu ouvre ton fichier, tu places son contenu dans un tableau et tu l'enregistres dans ta bdd !!!!
  $texte = "";
  foreach($a_file as $index => $val) {
    $text .= $val."\n";
 
Comprend pas ces lignes là :oops: :roll:
tu as la splendeur d'un enterrement de première class e

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 11:20

Tu ouvre ton fichier, tu places son contenu dans un tableau et tu l'enregistres dans ta bdd !!!!
$texte = "";
  foreach($a_file as $index => $val) {
    $text .= $val."\n";

Comprend pas ces lignes là
foreach($a_file as $index => $val) {
Cette boucle permet de parcourir tout le tablea $a_file en placant, pour chaque boucle, l'index du tableau dans la variable $index, et le contenu de la case du tableau dans la variable $val !!!!

Ensuite, pour chaque case de ton tableau, je la concatene dans une unique variable $texte. C'est ce qui me permet de placer le contenu du fichier (si il est en plusieurs lignes, la fonction file() va retourner un tableau avec plusieurs cases) dans une unique variable afin de pouvoir l'enregistrer dans uns bdd !!!

J'éspère avoir été plus clair !!! :?

Si tu comprends toujours pas, hésite pas à reposer une question :wink:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 191 Messages

16 mai 2005, 11:25

foreach($a_file as $index => $val) {
Cette boucle permet de parcourir tout le tablea $a_file en placant, pour chaque boucle, l'index du tableau dans la variable $index, et le contenu de la case du tableau dans la variable $val !!!!


je dois remplacer une des variable par le nom de mon fichier ou autre chose ?????????????? =P~
tu as la splendeur d'un enterrement de première class e

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 11:32

$file = "c:/mesDocs/monFichier.log"
Dans cette ligne, je donne l'url complete de mon fichier
if (file_exists($file)) { // Permet de tester l'existence du fichier
Dans cette ligne, je teste l'existence du fichier pour qu'il n'y ait pas d'erreur à l'exécution
$a_file = file($file); 
Dans cette ligne, j'extrait le contenu du fichier et je le place dans un tableau. Une ligne du fichier va se retouver dans une case du tableau

fichier :
coucou
c'est moi
qui parle


va se retouver dans le tableau
array(
0=>"coucou",
1=>"c'est moi",
2=>"qui parle")


La seule chose que tu doit changer dans mon code, c'est le nom du fichier :
$file = "c:/mesDocs/monFichier.log"
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 191 Messages

16 mai 2005, 11:44

j'ai fait
$file = "/var/spool/fax/log/$log";
		if (file_exists($file)) 
			{
			 // Permet de tester l'existence du fichier
			 $a_file = file($file);
 			 $texte = "";
  			 foreach($a_file as $index => $val) 
			 {
			 $text .= $val."\n";
  			 }
  			$str_query = "INSERT INTO fax (Far=".$text.")";
  			mysql_query($str_query); or die ("enregistrement impossible");    //ligne 65
			} else 
			{
  			echo "Le fichier 'monFichier.log' n'existe pas");
			}
eil me renvoie
Parse error: parse error, unexpected T_LOGICAL_OR in /var/www/html/Hylafax_log.php on line 65
y aurai une connerie
tu as la splendeur d'un enterrement de première class e

Mammouth du PHP | 983 Messages

16 mai 2005, 11:46

Enleve le ; apres mysql_query():
mysql_query($str_query) or die ("enregistrement impossible");    //ligne 65

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 11:48

J'ai écrit ce code sans le lire et j'ai pas vérifié mes erreurs !!!

Mais si tu lis la ligne avec un peu d'attention, tu peux trouver l'erreur tout seul !!!

Le message d'erreur donne pourtant de bonnes indications : "je trouve un OU logique que je n'attend pas et qui ne devrait pas se trouver ici" !!! Ca veut dire qu'il y a une erreur de syntaxe avant le OU !!!

et si tu regarde la ligne,

mysql_query($str_query); or die ("enregistrement impossible"); //ligne 65

il y a un ; en trop !!!!!

Regarde bien le code, interprete les messages d'erreur et tu peut trouver facilement les erreurs !!!!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 11:49

Excuse rami, j'ai posté en même tps !!!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 191 Messages

16 mai 2005, 11:56

il fallait aussi enlevé la parenthese a la fin de la derniere ligne
tu as la splendeur d'un enterrement de première class e

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 11:58

Excuse moi pour les erreurs mais comme je te l'ai dit, j'ai écrit ce code en 2mn sur le forum sans le tester !!!

Désolé :oops:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 191 Messages

16 mai 2005, 12:14

:wink: =D>

Merci ca marche maintenant merci encore ZEUS c'est pas la première fois que tu me dépanne j'espere pouvoir renvoyer l'ascenseur


BOUJOUX :wink: :lol:
tu as la splendeur d'un enterrement de première class e

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 12:15

Ca sera avec plaisir !!!

C'est bizarre comme on aime que les autres nous aide quand on a besoin :lol: :lol:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 191 Messages

16 mai 2005, 12:23

j'ai fai
if (file_exists($file)) 
			{
			 // Permet de tester l'existence du fichier
			 $a_file = file($file);
 			 $texte = "";
  			 foreach($a_file as $index => $val) 
			 {
			 $text = $val."\n";
  			 }
			 $a=33;
  			//$str_query = (" INSERT INTO Fax (Far) VALUES ('$text') WHERE Fjid='$a' ");
			$str_query = (" UPDATE `Fax` SET Far = '$text' WHERE Fjid = $a ");
			
  			mysql_query($str_query) or die ("enregistrement impossible ".mysql_error());
			} 
		else 
			{
  			echo "Le fichier ".$file." n'existe pas";
			}
Et il ne m'inset que la dernière ligne


Sinon j'ai pas compris ta phrase

C'est bizarre comme on aime que les autres nous aide quand on a besoin Laughing Laughing
tu as la splendeur d'un enterrement de première class e