Manipulation de données d'un fichier txt [Résolu]

Signaler
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Bonjour,

J'ai un petit probleme sur un script et je viens chercher de l'aide. Voila j'ai un fichier nommé ip.txt qui contient une adresse ip par ligne, j'aimerais à chaque ouverture de ma page verifier si l'adresse ip du visiteur est dans ce fichier.
Voici donc ce que j'ai ecrit :

------------------------------------
function s($sip)

 $liste_ip = file("ip.txt");
 
 if (in_array ( $sip."\n" , $liste_ip ) )
 {
  echo "dedans
" ;
 }
 else
 {
  echo "absent du fichier
" ;
 }
}
-------------------------------------

$sip etant l'adresse ip que je veux tester.
Seulement quand j'apelle cette fonction :

s("70.87.130.210");

Sa renvoie "absent du fichier " alors que cette ip est dans le fichier

Merci de m'aider

10 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
Salut,

c'est plutôt :

if (false!==strpos(file_get_contents('fichier.txt'), 'ip'))

false!== permet de faire en sorte que si l'ip est a la première place, elle soit quand même détectée...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Hello,

essaye ça :

function s($sip)
{
$liste_ip = file("ip.txt");
$liste_ip = array_map (create_function ('$val', 'return trim($val);), $liste_ip);
if (in_array ($sip , $liste_ip ) )
{
echo "dedans
" ;
}
else
{
echo "absent du fichier
" ;
}
}
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
$liste_ip = array_map (create_function ('$val', 'return trim($val)';), $liste_ip);
j'ai oublié une apostrophe, désolé.
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
4
Ce code renvoie plein d'erreurs :

function s($sip)
{
 $liste_ip = file("ip.txt");
 $liste_ip = array_map (create_function ('$val', 'return trim($val)'), $liste_ip);
 if (in_array ($sip , $liste_ip ) )
 {
  echo "dedans
" ;
 }
 else
 {
  echo "absent du fichier
" ;
 }
}

Je ne les met pas y'en a trop
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Des erreurs...? Quel genre ? parce que là, je ne vois pas quelles erreurs il peut te renvoyer.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
Salut,

tu peux aussi faire

if (false!==strpos('ip', file_get_contents('fichier.txt')))

ce qui est aussi simple

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
4
Merci beaucoup je test demin.
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
4
A quoi sert le false !== ?

j'ai testé sa marche pas
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
4
Merci sa marche nikel
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
Salut,

de rien

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)