Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/04/2007, 18h15   #1
Nouveau Membre du Club
 
Inscription : octobre 2005
Messages : 117
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : octobre 2005
Messages : 117
Points : 29
Points : 29
Par défaut Tester la présence d'une chaine de caractères dans un fichier

Bonsoir à tous,

Je cherche désespérément à lire un fichier afin de tester la présence d'une chaine de caractère dans ce fichier, mais je n'y parvient pas, pouvez vous m'aider SVP.

Code :
1
2
3
4
5
6
7
8
9
10
11
 
$Fnm = "hmailserver_2007-04-01.log"; 
if (file_exists($Fnm)) { 
	fopen($Fnm,"r"); 
 
	if(stristr($Fnm, 'toto') === FALSE) {
		die("OK, chaine présente on arrête là !");
	}
 
	fclose($inF);
}
Voici ce que j'ai fait pour le moment, cela ne marche pas, c'est normal. Mais cela vous permettra de voir sur quelle piste je me lance.

Merci d'avance pour votre aide !
JoN28fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 18h32   #2
Nouveau Membre du Club
 
Inscription : octobre 2005
Messages : 117
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : octobre 2005
Messages : 117
Points : 29
Points : 29
Voilà une solution qui marche :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$log = "hmailserver_2007-04-01.log"; 
 
if (file_exists($log)) { 
 
	$inF = fopen($log,"r");
	$tableau = file($log); 
 
	foreach ($tableau as $line_num => $line) {
		if(stristr($line,'toto')) {
			fclose($inF);
			die("ok");
		}
	}
	echo "rien";
 
	fclose($inF);
 
}
?>
Mais je suis sûr que ce code pourrait être optimisé. Qu'en pensez vous ?
JoN28fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 18h37   #3
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 306
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 306
Points : 8 590
Points : 8 590
Tu connaîs php.net ? http://fr2.php.net/manual/fr/function.fopen.php. En cliquant sur le bon lien "Voir aussi" tu trouveras 90% de ton pb dans un exemple !!! Allez : http://fr2.php.net/manual/fr/function.fgets.php

T'avais bien commencé avec fopen...
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 21h41   #4
Rédactrice
 
Avatar de xave
 
Inscription : mai 2002
Messages : 860
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mai 2002
Messages : 860
Points : 824
Points : 824
Tu peux aussi utiliser file_get_contents qui te permet de récupérer le contenu du fichier dans une chaine, ensuite une petite regexp sur ta chaine et zou
__________________
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1


Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
xave est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 21h58   #5
Nouveau Membre du Club
 
Inscription : octobre 2005
Messages : 117
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : octobre 2005
Messages : 117
Points : 29
Points : 29
Citation:
Envoyé par xave
Tu peux aussi utiliser file_get_contents qui te permet de récupérer le contenu du fichier dans une chaine, ensuite une petite regexp sur ta chaine et zou
Merci, voilà une réponse constructive et utile. Je bosse maintenant avec tes fonctions, elles semblent mieux convenir.

_Mac_, ta réponse était vraiment inutile et déplacée. Je connais très bien le manuel PHP. Si je suis venu ici c'est pour en savoir plus, sinon, je serais resté sur le manuel....

Merci encore xave !
JoN28fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h04.


 
 
 
 
Partenaires

Hébergement Web