|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 34 ![]() |
Bonjour à tous,
Je vais essayer d'être clair, mais ça va pas être évident Voilà j'importe un fichier log dans ma base de donnée (avec la commande LOAD DATA LOCAL INFILE ). Jusqu'ici pas de soucis... Le problème c'est que j'ai plusieurs fichiers logs à importer, et j'aimerai que ça se fasses automatiquement. J'ai essayer d'intégrer ça dans mon programme en php, mais ça ne marche pas. En gros j'aimerai que dans ma commande sql "LOAD DATA LOCAL INFILE ", le chemin soit /var/log/*.log Es-ce possible ? par quel moyen ? En espérant m'etre fait compris, merci d'avance. PS: Pardonnez moi si je me suis trompé de forum EDIT: Erf oui trompé de forum |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 34 ![]() |
ah yess merci je vois mieux comment faire
Mais après pour ma requête SQL, comment je peux l'utiliser ? je stocke le nom de fichier dans une variable et je l'integre dans ma requête ? |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 3 717 ![]() |
exactement.
En fait, readdir va te récupérer le nom d'un fichier (donc tu sera dans une boucle pour récupérer le contenu de ton répertoire). Ce nomp sera stoqué dans une variable. Il ne te reste plus qu'à effectuer ton opération de stoquage dans ta boucle avec cde nom de fichier |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 34 ![]() |
Oki d'accord merci
Bon ben il n'y a plus qu'à .... Reste dans le coin au cas ou j'ai des problèmes hein ? |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 34 ![]() |
Bien j'ai compris comment marchait cette fonction mais maintenant je ne sais pas comment utiliser la variable dans ma requête SQL ?
|
|
|
00
|
|
|
#7 | ||||
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
normalement tu dois avoir un code qui ressemble a cela
Code :
Code :
|
||||
|
|
00
|
|
|
#8 | |||||
|
Invité de passage
![]() Inscription : avril 2006 Messages : 34 ![]() |
Citation:
Code :
|
|||||
|
|
00
|
|
|
#9 | |||
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
Bon cela est pour 2 raisons
- 1 je viens de verifier la synthase et c'est Citation:
Code :
|
|||
|
|
00
|
|
|
#10 | ||
|
Invité de passage
![]() Inscription : avril 2006 Messages : 34 ![]() |
En fait quand j'affiche $file, il me renvoie fichier.log
Donc dans ma requête il faut que j'indique le chemin. J'ai testé ça: Code :
$requete = "LOAD DATA LOCAL INFILE \mon\chemin\"" . $file . "\" INTO TABLE matable"; Code :
|
||
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
bon si j'ai bien compris ton chemin est \var\log\sauvegardes
donc deja pense a rajouter \ a la fin. Par contre les " doivent etre autour du chemin complet et pas uniquement le nom de fichier donc ca remssemblerait plutot a Code :
|
||
|
|
00
|
|
|
#12 | |||
|
Invité de passage
![]() Inscription : avril 2006 Messages : 34 ![]() |
Citation:
Si je l'enleve, ça me met bien ce que j'ai dis plus haut. Mais il y a un truc que je comprends pas, c'est quand tu dis qu'il faut des " entre le chemin, mais tu l'as pas fait Sinon, quelque chose que je comprends pas c'est ce qu'il y a en rouge: Code :
En tout cas ça me donne des erreurs Code :
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /var/www/index.php on line 45 |
|||
|
|
00
|
|
|
#13 | ||
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
de rien,
mais c'est vrai il y avait quelques erreurs dans ma synthaxe, je dois pas avoir encore atteint ma dose de café, pour commencer a etre operationnel Code :
et pour la partie en rouge il ne faut pas d'espace en fait. |
||
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 34 ![]() |
Ah c'est mieux
Donc maintenant j'ai ma page qui s'affiche, mais j'ai une erreur "Query was empty" et en effet, $file vaut: '.' C'est dû à quoi ? |
|
|
00
|
|
|
#15 | ||
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
readfile liste a la fois les dossiers et les fichiers
et . correspond au dossier courant et .. au dossier parent donc le mieux pour ca je te conseille de faire des tests avant l'execution de la requete par exemple Code :
|
||
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 34 ![]() |
j'ai mis juste un "if ($file != ".") "
ça fonctionne, j'arrive à affichier mon fichier.log mais ça me met toujours "sql query was empty" Pourtant là la valeur de $file est bien mon fichier.log ![]() PS: ma requête sql est bien dans ma condition if. |
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
rajouter un test aussi sur ".." car le readfile le prend aussi et ca provoquera la meme erreur.
a la limite a chaque boucle affiche $file et la requete s'il elle est generee, tu verra bien d'ou peut provenir l'erreur. |
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 34 ![]() |
C'est ce que j'ai fait pour l'affichage et pour le ".."
ça affiche "." ".." puis "fichier.log" et ça me met l'erreur SQL |
|
|
00
|
|
|
#19 |
|
Membre Expert
![]() David B.Développeur informatique Inscription : avril 2003 Messages : 742 ![]() |
Toujours la meme erreur?
et essaye sans mettre les \" pour voir |
|
|
00
|
|
|
#20 | ||
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 3 717 ![]() |
Si tu as une extension prédéfinie pour tes fichiers, genre .doc, tu peux tester facilement :
Code :
__________________
Globalement inoffensif Merci de respecter les règles du forum. Aucune question technique par MP ! _______________________________________________________________________ La rubrique Ruby / Rails recrute. Contactez moi ! _______________________________________________________________________ Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS Tutoriaux HTML/CSS et PHP |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com