Log -> PHP -> Mysql | Coment faire ? [Résolu]

Log -> PHP -> Mysql | Coment faire ? [Résolu] - PHP - Programmation

Marsh Posté le 11-04-2005 à 11:29:13    

Bonjour all !!
 
Je pensais trouvé des topics à ce sujet mais après avoir fais mes recherches ---> Rien !!
Peut être, même surement pas les bons mots clés !
 
Donc je poste :D
 
Voila j'aimerai récupérer toutes les IP contenu dans un fichier txt parmis du texte
 
Pour l'expression régulière ca va ça ??
[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}
 
Ensutie j'ai pensé a un fopen mais après je sais plus quoi faire :(
 
 
 
J'explique plus complètement le sujet comme ça vous pourrez peut être me donner une autre solution !!
 
En fait je scanne un réseau entier avec Nmap  
Ensuite j'obtiens un fichier log avec des IPs
A partir de ce fichier log j'aimerai remplir une Bdd sous mysql !!
 
Merci d'avance !
 
Lien utile:
http://www.asp-php.net/tutorial/as [...] 2&resum=no


Message édité par CocoRambo le 12-04-2005 à 11:41:09
Reply

Marsh Posté le 11-04-2005 à 11:29:13   

Reply

Marsh Posté le 11-04-2005 à 11:31:11    

ya jamais de 0 dans tes adresses ip ?  ;)

Reply

Marsh Posté le 11-04-2005 à 11:31:33    

euh lol oui merci :D
 
EDIT: C'est mieux comme ca ^^ ? :D lol


Message édité par CocoRambo le 11-04-2005 à 11:32:32
Reply

Marsh Posté le 11-04-2005 à 11:34:58    

CocoRambo a écrit :

C'est mieux comme ca ^^ ? :D lol


presque, tu dois encore echapper le .

Reply

Marsh Posté le 11-04-2005 à 11:36:53    

C'est bon cette fois ? :D

Reply

Marsh Posté le 11-04-2005 à 11:40:40    

oui, ça devrait aller.
t'as plus qu'a lire le fichier et faire un preg_match_all

Reply

Marsh Posté le 11-04-2005 à 11:43:08    

soju a écrit :

oui, ça devrait aller.
t'as plus qu'a lire le fichier et faire un preg_match_all


 
J'ai essayer preg_match_all sans résultat :(
Ca marchai pas !! Mais surement mal paramétrer !!
 
int preg_match_all ( string pattern, string subject, array matches [, int flags [, int offset]])
 
 
 
Violà mon code:
 

Code :
  1. <?php
  2.         $log = 'log_php';
  3.         $exist = file_exists("$log" );
  4.         if($exist != 1){
  5.                 echo 'Le fichier n\'existe pas<br>';
  6.         }
  7.         else{
  8.                 $ouvert = fopen("$log","r" );
  9.                 ereg ("[0-9]{1-3}.[0-9]{1-3}.[0-9]{1-3}.[0-9]{1-3}", $ouvert, $regs);
  10.                 echo $regs[1];
  11.                 fclose($ouvert);
  12.         }
  13. ?>


Message édité par CocoRambo le 11-04-2005 à 11:44:47
Reply

Marsh Posté le 11-04-2005 à 11:44:36    

faut que tu revois ta façon de lire un fichier,
fopen renvois une ressource, pas le contenu du fichier

Reply

Marsh Posté le 11-04-2005 à 11:47:27    

Ouai c'est la fonction file() qui fais ca non ??
Mais elle me retourne sous un tableau et pour preg_match_all il faut un string :(
Donc me suis orienter vers autre chose avec un fopen et je me suis dit ke je pourrai recherché dans le fichier directement !!!
 
Mais de toute evidence ca ne marche pas :S
 
Quelqu'un pour me donner une voix ?? je veux pas la soluce je veu just qu'on m'éclaire !

Reply

Marsh Posté le 11-04-2005 à 11:48:30    

Reply

Marsh Posté le 11-04-2005 à 11:48:30   

Reply

Marsh Posté le 11-04-2005 à 11:50:50    

Je crois avoir lu quelquepart qu'il y avait une taille très limite pour cette fonction ...
hors mon fichier texte est assez long !!
 
Ca passera tu pense ??
 
Je test en même temps ;)

Reply

Marsh Posté le 11-04-2005 à 11:58:40    

Voila mon nouveau code mais ca ne marche pas il me donne cette erreure:
 
Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '{' in ...
 
 

Code :
  1. <?php
  2.         $log = 'log_php';
  3.         $exist = file_exists("$log" );
  4.         if($exist != 1){
  5.                 echo 'Le fichier n\'existe pas<br>';
  6.         }
  7.         else{
  8.                 $chaine = file_get_contents($log);
  9.                 preg_match_all('[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}', $chaine, $result);
  10.                 echo $result[1];
  11.         }
  12. ?>

Reply

Marsh Posté le 11-04-2005 à 12:00:48    

preg_match_all('§[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}§', $chaine, $result);


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 11-04-2005 à 12:04:07    

Il ne me dit plus d'erreure effectivement ... mais ça sort d'où ca ??? :D  
 
Merci
 
Suite à tous ça, ma variable chaine contient bien tout le fichier texte !!
Par contre après le preg_match_all je n'ai rien dans le tableau $result  
 
a part en $result[0] --> Array   :(


Message édité par CocoRambo le 11-04-2005 à 12:07:07
Reply

Marsh Posté le 11-04-2005 à 12:15:16    

print_r($result);


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 11-04-2005 à 12:17:31    

c'est vide :(

Reply

Marsh Posté le 11-04-2005 à 12:21:22    

:spamafote:


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 11-04-2005 à 12:42:26    

Personne d'autre ?? :D
 
Merci quand même KangOl

Reply

Marsh Posté le 11-04-2005 à 13:47:23    

met nous un exemple de quelques lignes de ton fichier log

Reply

Marsh Posté le 11-04-2005 à 15:03:37    

voila un bout de mon fichier log:
 

10.xxx.xx.xxx
515 printer
10.xxx.x.x
35 priv-print
515 printer
631 ipp
5001 commplex-link
10.xxx.x.x
35 priv-print
515 printer
631 ipp
5001 commplex-link
10.xxx.x.x
35 priv-print
515 printer
631 ipp
5001 commplex-link


Message édité par CocoRambo le 11-04-2005 à 15:15:07
Reply

Marsh Posté le 11-04-2005 à 15:06:09    

Peut-tu m'expliquer l'interêt de mettre ça dans un spoiler ? [:pingouino]

Reply

Marsh Posté le 11-04-2005 à 15:10:30    

Euh désolé mais ce n'est pas dans un spoiler non ?
J'ai test spoiler pour voir ce que c'était ... (d'ailleurs j'ai pas compris l'interêt mais ce n est pas le sujet)

Reply

Marsh Posté le 11-04-2005 à 15:11:07    

Faut mettre [fixed][/fixed], c'est mieux

Reply

Marsh Posté le 11-04-2005 à 15:13:08    

au fait, ce n'est pas {1-3} mais {1,3}

Reply

Marsh Posté le 11-04-2005 à 15:20:58    

'[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
 
Voilà ma chaîne d'expression régulière ^^
 
 

preg_match_all('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}', $chaine, $result)


 
Mais j'obtiens cette erreur quand je la met dans la fonction preg_match_all
 
Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '{' in /opt/lampp/htdocs/stage/index.php on line 20


Message édité par CocoRambo le 11-04-2005 à 15:21:17
Reply

Marsh Posté le 11-04-2005 à 15:21:23    

[fixed][/fixed], merci :o

Reply

Marsh Posté le 11-04-2005 à 15:21:59    

Roh oui c'est bon je me suis gouré de bouton ... dsl c'est corrigé ;)


Message édité par CocoRambo le 11-04-2005 à 15:23:40
Reply

Marsh Posté le 11-04-2005 à 15:31:23    

CocoRambo a écrit :

preg_match_all('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}', $chaine, $result)



il manque les délimiteurs de masque

Reply

Marsh Posté le 11-04-2005 à 15:34:26    

ca va ca ??
 

'/\[0-9\]\{1,3\}\.\[0-9\]\{1,3\}\.\[0-9\]\{1,3\}\.\[0-9\]\{1,3\}/'

Reply

Marsh Posté le 11-04-2005 à 15:35:59    


non il y a plein \ en trop

Reply

Marsh Posté le 11-04-2005 à 15:38:01    

Déjà je te remercie pour ta patience a faire partager ton savoir avec les autres (en l'occurence pour cette fois --> moi)
 
Et là c mieux ?
 

/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/

Reply

Marsh Posté le 11-04-2005 à 15:40:37    

CocoRambo a écrit :

Et là c mieux ?


oui  :)  

Reply

Marsh Posté le 11-04-2005 à 15:43:14    

soju tu sais quoi ??
 
Je t'aime lol :D
Ca marche merci beaucoup mon gars !!
Tu es super sympa !

Reply

Marsh Posté le 11-04-2005 à 15:48:39    

CocoRambo a écrit :

Je t'aime lol :D


si ton amour est convertible en euros j'en veux bien,
sinon si tu es blonde à forte poitrine aussi,
 :lol:  
 

Reply

Marsh Posté le 11-04-2005 à 15:54:04    

Il est vrai que vu comment tu m a aider tu mériterai que je me fasse teindre en blond et que je fasse de la chérurgie mamère ;)
 
Tu m'en ve pas si je le fais pas ? :D lol  
 
Encore merci mec !

Reply

Marsh Posté le 12-04-2005 à 10:38:20    

Soju un autre problème se présente à moi :D
J'arrive pas à récupérer les port (cf l'extrait de mon log plus haut)
 
En fait je voudrai les recup en fonction de l IP
 
Donc j'ai test un truc du genre
 

'/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} [0-9]{2,4}/'


 
Mais marche pas :D
Tu veux pas être encore patient stp ? :D lol


Message édité par CocoRambo le 12-04-2005 à 10:40:47
Reply

Marsh Posté le 12-04-2005 à 11:08:33    

CocoRambo a écrit :

Mais marche pas

normal, c'est pas un espace entre ip et port, c'est un retour à la ligne

Reply

Marsh Posté le 12-04-2005 à 11:11:34    

ouai mais pourtant une fois que j'ai fais file_get_contents il enleve les retour à la lgine non ??

Reply

Marsh Posté le 12-04-2005 à 11:21:04    

CocoRambo a écrit :

ouai mais pourtant une fois que j'ai fais file_get_contents il enleve les retour à la lgine non ??

heu pourquoi ?? http://fr.php.net/file_get_contents

Reply

Marsh Posté le 12-04-2005 à 11:26:55    

ah ba non tu a raison !!
Mais pourtant quand je fais un echo "file_get_contents(...)";
Il m affiche tout sans retour a la ligne !!
 
Enfin ...
 
Comment capturer qu'une partie de mon expression régulière ??

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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